Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Bazel 8.0.0 #3035

Draft
wants to merge 38 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
2a9eecf
Changes for MODULE.bazel
KateBlueSky Dec 17, 2024
0c2d795
Fixed workspace.
KateBlueSky Dec 18, 2024
8180488
Fixed issues with bazel.
KateBlueSky Dec 18, 2024
534d0ed
Fixed some bazel upgrade.
KateBlueSky Dec 18, 2024
0a3fcb2
Updating Module.bazel.
KateBlueSky Jan 2, 2025
3b7a19c
Added extensions for the registering of the toolchains.
KateBlueSky Jan 3, 2025
4d318ef
Some misc. updates.
KateBlueSky Jan 3, 2025
f51c249
removed the enable bazel mod needed for 7.0.0.
KateBlueSky Jan 3, 2025
3e3de12
Updated license.
KateBlueSky Jan 3, 2025
58071b1
Added the noincompatible_disallow_empty_glob flag.
KateBlueSky Jan 3, 2025
25e88fa
Reverted kmeans build.
KateBlueSky Jan 3, 2025
88f68f8
Reverted changes.
KateBlueSky Jan 3, 2025
d72e1a8
Reverted changes.
KateBlueSky Jan 3, 2025
f79bd2b
Reverted commented line for testing.
KateBlueSky Jan 3, 2025
1a66821
Updated license dates.
KateBlueSky Jan 3, 2025
6536db2
Updated formate.
KateBlueSky Jan 3, 2025
d8467fa
Updated fmt depependency to 11.1.1
KateBlueSky Jan 3, 2025
2e3a067
Merged upstream changes.
KateBlueSky Jan 3, 2025
5ee0ce0
Updated the plateforms version.
KateBlueSky Jan 6, 2025
36d49ca
Changes from main.
KateBlueSky Jan 6, 2025
558c6e3
Merged changes from workspace.
KateBlueSky Jan 6, 2025
718f096
updated the tojson was deprecated on struct.
KateBlueSky Jan 6, 2025
684b59d
Fixed the JSON statements.
KateBlueSky Jan 6, 2025
c0b886e
debuging ci process.
KateBlueSky Jan 6, 2025
f1fea0b
debuging ci process.
KateBlueSky Jan 6, 2025
b058717
rolled back debug changes.
KateBlueSky Jan 6, 2025
c7350d8
Updated directory structure.
KateBlueSky Jan 6, 2025
d6f17b8
Updated path for json file.
KateBlueSky Jan 6, 2025
d16e5e3
Updated template statement.
KateBlueSky Jan 7, 2025
b612526
more debugging.
KateBlueSky Jan 7, 2025
de99630
Added some debuging.
KateBlueSky Jan 7, 2025
0eb3c36
Updated the ubuntu version.
KateBlueSky Jan 7, 2025
91022ff
reverted debug stuff
KateBlueSky Jan 7, 2025
e458d31
Added Kmeans back in.
KateBlueSky Jan 8, 2025
a0bc98e
added the Wno-dangling-reference for gnu.
KateBlueSky Jan 8, 2025
66733d5
Updated bazel version 8.0.1
KateBlueSky Jan 8, 2025
229a2f4
Added line before eof.
KateBlueSky Jan 8, 2025
d605a2f
Changed back to 8.0.0 for testing.
KateBlueSky Jan 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# Global options

common
build -c opt \
--incompatible_enable_cc_toolchain_resolution \
--incompatible_require_linker_input_cc_api
--incompatible_require_linker_input_cc_api \
--noincompatible_disallow_empty_glob
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docs on this aren't super clear to me - what would happen if this flag is not added?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In Bazel 8.0, the flag --incompatible_disallow_empty_glob will default to true. This means that the allow_empty argument defaults to False on all glob calls. In Bazel 7.0 --incompatible_disallow_empty_glob defaulted to False and the allow_empty argument defaults to True on all glob calls. Some of the glob calls in the project return empty list, so in bazel 8.0 those glob calls that return empty list error out without setting allow_empty set to true.


# Aliases for user-defined flags
build --flag_alias=backend_config=@config//:backend_config
Expand Down
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.4.1
8.0.0
132 changes: 132 additions & 0 deletions MODULE.bazel
Original file line number Diff line number Diff line change
@@ -1,3 +1,135 @@
#===============================================================================
# Copyright 2025 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#===============================================================================

module(name = "onedal")

bazel_dep(name = "platforms", version = "0.0.5")
KateBlueSky marked this conversation as resolved.
Show resolved Hide resolved
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_cc", version = "0.0.17")

KateBlueSky marked this conversation as resolved.
Show resolved Hide resolved
declare_onedal_config = use_repo_rule("@onedal//dev/bazel/config:config.bzl", "declare_onedal_config")
declare_onedal_config(name = "config",)

sh_config_ext = use_extension("@onedal//dev/bazel/toolchains:cc_toolchain_extension.bzl", "cc_toolchain_extension")
use_repo(sh_config_ext, "onedal_cc_toolchain")
register_toolchains("@{}//:all".format("onedal_cc_toolchain"))


extra_toolchain_ext = use_extension("@onedal//dev/bazel/toolchains:extra_toolchain_extension.bzl", "onedal_extra_toolchain_extension")
use_repo(extra_toolchain_ext, "onedal_extra_toolchain")
register_toolchains("@{}//:all".format("onedal_extra_toolchain"))


opencl_repo = use_repo_rule("@onedal//dev/bazel/deps:opencl.bzl", "opencl_repo")
opencl_repo(name = "opencl")

openblas_repo = use_repo_rule("@onedal//dev/bazel/deps:openblas.bzl", "openblas_repo")
openblas_repo(name = "openblas", root_env_var = "OPENBLASROOT",)

tbb_repo = use_repo_rule("@onedal//dev/bazel/deps:tbb.bzl", "tbb_repo")
tbb_repo(
name = "tbb",
root_env_var = "TBBROOT",
urls = [
"https://files.pythonhosted.org/packages/93/4b/2e29f4266be5a66f21fc2dadcde48f9acea86119d6fb1bb2d2a451222ff7/tbb-2022.0.0-py2.py3-none-manylinux_2_28_x86_64.whl",
"https://files.pythonhosted.org/packages/ff/8c/1eb1f856a7a328242d524f1bf64f2a212d46ce5651168e7c8bc7aeaf0f44/tbb_devel-2022.0.0-py2.py3-none-manylinux_2_28_x86_64.whl",
],
sha256s = [
"15a15a4e3ea4c3f3198bdb3c55fac75c589e15ed2ad0bbb080900d355c5b017e",
"474e4ed1dce2efeea1d3652e295a97713df5d0ed854c937ee7d0464c38353c36",
],
strip_prefixes = [
"tbb-2022.0.0.data/data",
"tbb_devel-2022.0.0.data/data",
]
)

mpi_repo = use_repo_rule("@onedal//dev/bazel/deps:mpi.bzl", "mpi_repo")
mpi_repo(
name = "mpi",
root_env_var = "MPIROOT",
urls = [
"https://files.pythonhosted.org/packages/0a/7c/0f4de62a3463e4ebcf232352b231427f3b34c6a0a1b102a94da3246cad76/impi_rt-2021.14.0-py2.py3-none-manylinux_2_28_x86_64.whl",
"https://files.pythonhosted.org/packages/10/9f/4ee3244c078b9e9e8f65ec51760e7a6e52988abba92a285ab8b0c4dbafff/impi_devel-2021.14.0-py2.py3-none-manylinux_2_28_x86_64.whl",
],
sha256s = [
"f06ac9eba3de9609fb257d714e3041f82334ccfe27a9bec0f90007d6381dd52e",
"6a6ec66719ac4884a40a0504f4f186f51ee4169bece5f4486c31138ed6bcc87d",
],
strip_prefixes = [
"impi_rt-2021.14.0.data/data",
"impi_devel-2021.14.0.data/data",
]
)

ccl_repo = use_repo_rule("@onedal//dev/bazel/deps:ccl.bzl", "ccl_repo")
ccl_repo(
name = "ccl",
root_env_var = "CCL_ROOT",
urls = [
"https://files.pythonhosted.org/packages/c4/34/84fcf891faabfcd88e1e054a9268cdbefac8c22ab37d7eea2d9a3bda0f52/oneccl_devel-2021.14.0-py2.py3-none-manylinux_2_28_x86_64.whl",
],
sha256s = [
"580641c9d296b673d225ed3ca740b3356d7408a5c792de596a8836fde7d6c79e",
],
strip_prefixes = [
"oneccl_devel-2021.14.0.data/data",
]
)

mkl_repo = use_repo_rule("@onedal//dev/bazel/deps:mkl.bzl", "mkl_repo")
mkl_repo(
name = "mkl",
root_env_var = "MKLROOT",
urls = [
"https://files.pythonhosted.org/packages/95/d8/76f53cde7c1df06fcd153b4f6fdf0516aafbfc3239ba8d5a8c354e20bbb2/mkl_static-2025.0.0-py2.py3-none-manylinux_2_28_x86_64.whl",
"https://files.pythonhosted.org/packages/b1/91/b76ab204c03f90d5ce008ba7cf6efd77168059866e96b70277fec959b940/mkl_include-2025.0.0-py2.py3-none-manylinux_2_28_x86_64.whl",
"https://files.pythonhosted.org/packages/b8/d7/ea82194db165d83e22dfedee4d45423477441202e2c321b9e96809d36e63/mkl_devel_dpcpp-2025.0.0-py2.py3-none-manylinux_2_28_x86_64.whl",
],
sha256s = [
"706f92fcd6e00cc94155097a87528da52b4c3dda4616c8c334963251773a0d13",
"cf19e274bdd1449ef7285671576c545510bebff669363ee1926779192f618cdd",
"455281a590920fb58628dbc06ac007f2618c7315e4c04748c2a1b62efa01afb3",
],
strip_prefixes = [
"mkl_static-2025.0.0.data/data",
"mkl_include-2025.0.0.data/data",
"mkl_devel_dpcpp-2025.0.0.data/data",
],
)

onedal_repo = use_repo_rule("@onedal//dev/bazel/deps:onedal.bzl", "onedal_repo")
onedal_repo(
name = "onedal_release",
root_env_var = "DALROOT",
)

http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
name = "catch2",
url = "https://github.com/catchorg/Catch2/archive/v3.7.1.tar.gz",
sha256 = "c991b247a1a0d7bb9c39aa35faf0fe9e19764213f28ffba3109388e62ee0269c",
strip_prefix = "Catch2-3.7.1",
)

http_archive(
name = "fmt",
url = "https://github.com/fmtlib/fmt/archive/11.1.1.tar.gz",
sha256 = "482eed9efbc98388dbaee5cb5f368be5eca4893456bb358c18b7ff71f835ae43",
strip_prefix = "fmt-11.1.1",
build_file = "@onedal//dev/bazel/deps:fmt.tpl.BUILD",
)
122 changes: 0 additions & 122 deletions WORKSPACE

This file was deleted.

3 changes: 0 additions & 3 deletions dev/bazel/toolchains/cc_toolchain.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,3 @@ onedal_cc_toolchain = repository_rule(
],
)

def declare_onedal_cc_toolchain(name):
onedal_cc_toolchain(name = name)
native.register_toolchains("@{}//:all".format(name))
21 changes: 21 additions & 0 deletions dev/bazel/toolchains/cc_toolchain_extension.bzl
KateBlueSky marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#===============================================================================
# Copyright 2025 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#===============================================================================

load("@onedal//dev/bazel/toolchains:cc_toolchain.bzl", "onedal_cc_toolchain")

cc_toolchain_extension = module_extension(
implementation = lambda ctx: onedal_cc_toolchain(name = "onedal_cc_toolchain"),
)
2 changes: 1 addition & 1 deletion dev/bazel/toolchains/cc_toolchain_lnx.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#===============================================================================

load(
"@bazel_tools//tools/cpp:lib_cc_configure.bzl",
"@rules_cc//cc/private/toolchain:lib_cc_configure.bzl",
"auto_configure_fail",
"get_starlark_list",
"write_builtin_include_directory_paths",
Expand Down
2 changes: 1 addition & 1 deletion dev/bazel/toolchains/common.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ load(
"get_default_flags",
"get_cpu_flags",
)
load("@bazel_tools//tools/cpp:lib_cc_configure.bzl",
load("@rules_cc//cc/private/toolchain:lib_cc_configure.bzl",
"get_starlark_list",
)

Expand Down
3 changes: 0 additions & 3 deletions dev/bazel/toolchains/extra_toolchain.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,3 @@ onedal_extra_toolchain = repository_rule(
implementation = _onedal_extra_toolchain_impl,
)

def declare_onedal_extra_toolchain(name):
onedal_extra_toolchain(name = name)
native.register_toolchains("@{}//:all".format(name))
21 changes: 21 additions & 0 deletions dev/bazel/toolchains/extra_toolchain_extension.bzl
KateBlueSky marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#===============================================================================
# Copyright 2025 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#===============================================================================

load("@onedal//dev/bazel/toolchains:extra_toolchain.bzl", "onedal_extra_toolchain")

onedal_extra_toolchain_extension = module_extension(
implementation = lambda ctx: onedal_extra_toolchain(name = "onedal_extra_toolchain"),
)
Loading