-
-
Notifications
You must be signed in to change notification settings - Fork 43
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
fix(bzlmod): allow both root module and our module to call cuda.local_toolchain #264
Conversation
b5f4392
to
8246bbc
Compare
b82e0d9
to
fb92d37
Compare
8246bbc
to
73f0723
Compare
@@ -8,6 +8,10 @@ bazel_dep(name = "bazel_skylib", version = "1.4.2") | |||
bazel_dep(name = "platforms", version = "0.0.6") | |||
|
|||
cuda = use_extension("@rules_cuda//cuda:extensions.bzl", "toolchain") | |||
cuda.local_toolchain( | |||
name = "local_cuda", | |||
toolkit_path = "", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If a user doesn't have an install at the default path does this cause a failure if they also override it in their own module file? Should we be loading the extension with dev_dependency = True to avoid this if so?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, this does not trigger analysis error anymore thanks to #209. The generated local_cuda
repo is as follows
root@c578fa5b9b4e ~/rules_cuda (cloudhan/our-module-local-cuda)# tree bazel-rules_cuda/external/_main\~toolchain\~local_cuda/
bazel-rules_cuda/external/_main~toolchain~local_cuda/
|-- BUILD -> /root/rules_cuda/cuda/runtime/BUILD.local_cuda_disabled
|-- REPO.bazel
|-- WORKSPACE
|-- defs.bzl
`-- toolchain
|-- BUILD
|-- clang
| `-- BUILD
`-- disabled
`-- BUILD -> /root/rules_cuda/cuda/templates/BUILD.local_toolchain_disabled
3 directories, 7 files
root@c578fa5b9b4e ~/rules_cuda (cloudhan/our-module-local-cuda)# cat bazel-rules_cuda/external/_main\~toolchain\~local_cuda/BUILD
load("@bazel_skylib//rules:common_settings.bzl", "bool_setting")
package(
default_visibility = ["//visibility:public"],
)
bool_setting(
name = "valid_toolchain_found",
build_setting_default = False,
)
e20a1b6
to
01e0709
Compare
01e0709
to
7688bae
Compare
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [rules_cuda](https://github.com/bazel-contrib/rules_cuda) | http_archive | patch | `v0.2.1` -> `v0.2.2` | --- ### Release Notes <details> <summary>bazel-contrib/rules_cuda (rules_cuda)</summary> ### [`v0.2.2`](https://github.com/bazel-contrib/rules_cuda/releases/tag/v0.2.2) [Compare Source](https://github.com/bazel-contrib/rules_cuda/compare/v0.2.1...v0.2.2) #### `WORKSPACE` code ```starlark load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "rules_cuda", sha256 = "b066750579f33e93e9dc55b8ee2067b525d863c1ddcf09b47a6332c39f0701fb", strip_prefix = "rules_cuda-v0.2.2", urls = ["https://github.com/bazel-contrib/rules_cuda/releases/download/v0.2.2/rules_cuda-v0.2.2.tar.gz"], ) load("@​rules_cuda//cuda:repositories.bzl", "register_detected_cuda_toolchains", "rules_cuda_dependencies") rules_cuda_dependencies() register_detected_cuda_toolchains() ``` #### What's Changed - Filter attrs properly for cuda_test by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/180](https://github.com/bazel-contrib/rules_cuda/pull/180) - Fix cuda_test by [@​hofbi](https://github.com/hofbi) in [https://github.com/bazel-contrib/rules_cuda/pull/181](https://github.com/bazel-contrib/rules_cuda/pull/181) - Add v0.2.1 to docs by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/184](https://github.com/bazel-contrib/rules_cuda/pull/184) - Pass through `--sysroot` to host compiler by [@​lalten](https://github.com/lalten) in [https://github.com/bazel-contrib/rules_cuda/pull/185](https://github.com/bazel-contrib/rules_cuda/pull/185) - Add cuda_binary macro by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/186](https://github.com/bazel-contrib/rules_cuda/pull/186) - Move non glob files out of glob by [@​hofbi](https://github.com/hofbi) in [https://github.com/bazel-contrib/rules_cuda/pull/192](https://github.com/bazel-contrib/rules_cuda/pull/192) - Disallow autoupdate nccl by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/193](https://github.com/bazel-contrib/rules_cuda/pull/193) - eliminate cpu architecture constraint for clang by [@​dmellosanjay](https://github.com/dmellosanjay) in [https://github.com/bazel-contrib/rules_cuda/pull/208](https://github.com/bazel-contrib/rules_cuda/pull/208) - Check nvcc version before adding `--dopt on` flags by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/212](https://github.com/bazel-contrib/rules_cuda/pull/212) - Add alwayslink to cuda_binary and cuda_test macros by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/210](https://github.com/bazel-contrib/rules_cuda/pull/210) - Add additional tests for LTS releases by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/215](https://github.com/bazel-contrib/rules_cuda/pull/215) - Fix cquery-ing with cuda targets by [@​mvukov](https://github.com/mvukov) in [https://github.com/bazel-contrib/rules_cuda/pull/209](https://github.com/bazel-contrib/rules_cuda/pull/209) - Propose new solution for know issue (nvcc filesystem race condition) by [@​hofbi](https://github.com/hofbi) in [https://github.com/bazel-contrib/rules_cuda/pull/216](https://github.com/bazel-contrib/rules_cuda/pull/216) - Fix a typo in `if_cuda` doc by [@​rygx](https://github.com/rygx) in [https://github.com/bazel-contrib/rules_cuda/pull/222](https://github.com/bazel-contrib/rules_cuda/pull/222) - Ignore MODULE.bazel.lock file by [@​rygx](https://github.com/rygx) in [https://github.com/bazel-contrib/rules_cuda/pull/224](https://github.com/bazel-contrib/rules_cuda/pull/224) - ci: avoid nvcc /tmp race condition by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/232](https://github.com/bazel-contrib/rules_cuda/pull/232) - ci: disable doc test workflow cache to avoid excessive space wasting by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/231](https://github.com/bazel-contrib/rules_cuda/pull/231) - feat: Add features for compiling with -arch=all or -arch=all-major by [@​jsharpe](https://github.com/jsharpe) in [https://github.com/bazel-contrib/rules_cuda/pull/245](https://github.com/bazel-contrib/rules_cuda/pull/245) - Fix spelling by [@​Vertexwahn](https://github.com/Vertexwahn) in [https://github.com/bazel-contrib/rules_cuda/pull/250](https://github.com/bazel-contrib/rules_cuda/pull/250) - Change example rules_cuda version by [@​Vertexwahn](https://github.com/Vertexwahn) in [https://github.com/bazel-contrib/rules_cuda/pull/249](https://github.com/bazel-contrib/rules_cuda/pull/249) - Document how to use rules_cuda with Bzlmod by [@​Vertexwahn](https://github.com/Vertexwahn) in [https://github.com/bazel-contrib/rules_cuda/pull/252](https://github.com/bazel-contrib/rules_cuda/pull/252) - Do not assume libcupti.so location by [@​tyb0807](https://github.com/tyb0807) in [https://github.com/bazel-contrib/rules_cuda/pull/253](https://github.com/bazel-contrib/rules_cuda/pull/253) - ci: use absolute path for XDG_CACHE_HOME as github actions and bazel doesn't resolve `~` automatically by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/260](https://github.com/bazel-contrib/rules_cuda/pull/260) - ci: cover major bazel releases in utilities tests by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/262](https://github.com/bazel-contrib/rules_cuda/pull/262) - test: workaround label resolving with bzlmod by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/263](https://github.com/bazel-contrib/rules_cuda/pull/263) - fix(bzlmod): allow both root module and our module to call cuda.local_toolchain by [@​cloudhan](https://github.com/cloudhan) in [https://github.com/bazel-contrib/rules_cuda/pull/264](https://github.com/bazel-contrib/rules_cuda/pull/264) #### New Contributors - [@​dmellosanjay](https://github.com/dmellosanjay) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/208](https://github.com/bazel-contrib/rules_cuda/pull/208) - [@​mvukov](https://github.com/mvukov) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/209](https://github.com/bazel-contrib/rules_cuda/pull/209) - [@​rygx](https://github.com/rygx) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/222](https://github.com/bazel-contrib/rules_cuda/pull/222) - [@​Vertexwahn](https://github.com/Vertexwahn) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/250](https://github.com/bazel-contrib/rules_cuda/pull/250) - [@​tyb0807](https://github.com/tyb0807) made their first contribution in [https://github.com/bazel-contrib/rules_cuda/pull/253](https://github.com/bazel-contrib/rules_cuda/pull/253) **Full Changelog**: bazel-contrib/rules_cuda@v0.2.1...v0.2.2 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/secretflow/spu). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Superserde #239
In #263 (comment) a new error popup as expected.
It is caused by the unittest secretly setup our module (rules_cuda, current root module as of invocation of
bazel
command) as an external module under testing, then thelocal_cuda
is ignore in this case. We shall allow call to module_extenion in both root module and our module.This in principle also fixes #238.