bazel-contrib / SIG-rules-authors

Governance and admin for the rules authors Special Interest Group
https://bazel-contrib.github.io/SIG-rules-authors/
Apache License 2.0
28 stars 12 forks source link

Create bazel-contrib/rules_cuda #57

Closed chsigg closed 1 year ago

chsigg commented 1 year ago

There are bazel rules for compiling CUDA code in various places:

I'm opening this issue to gauge interest in adding rules_cuda to bazel-contrib (see also https://github.com/bazelbuild/bazel/issues/6578) as a collaborative effort of the owners of the above repositories. Likely we would also need some design input from bazel rule experts.

https://bazelbuild.slack.com/ seems to be the appropriate place to discuss this. I've start a thread there and will report back here.

cgrindel commented 1 year ago

FYI. Here is information on how to add a repo under bazel-contrib. Hosting Policy

alexeagle commented 1 year ago

As an example, the last ruleset we added just put the answers to the policy doc in the issue: https://github.com/bazel-contrib/SIG-rules-authors/issues/51

jsharpe commented 1 year ago

Must use an open-source license, preferably Apache-2.0.

Will be MIT as basing on existing repo that is licensed under MIT.

Must have wide applicability in the community.

CUDA is one of the most popular languages for programming NVidia GPUs. It is widely used in the AI / ML and HPC communities and is already in use in projects built by bazel (e.g. tensorflow, NVidia Isaac)

Must have a clear point of contact who answers questions from the SIG.

I can be the POC as I already attend the meetings.

Must be “production quality”: clear README or other documentation outlining the goal of these rules, how to use them etc. generated API documentation include examples of use tests that are running continuously

We're starting from the existing repository at https://github.com/cloudhan/rules_cuda which provides these. https://github.com/cloudhan/rules_cuda_examples has some more complex examples of use and these examples could be migrated into this repo.

Must reply to issues/PRs in 2-3 weeks (exact service level agreement TBD) Must have more than one person who is committed to review/approve PRs We recommend encoding this as a CODEOWNERS file.

@jsharpe @chsigg @cloudhan and @ryanleary will be the intial code owners. Will make a CODEOWNERS to add to the repo once its migrated.

Must publish semver releases. Optional: follow the same release pattern as the rules-template does.

Will follow that release pattern.

Must work with LTS Bazel version

Does work with the current LTS releases. @fmeum has offered assistance in getting bzlmod support in place. Note that there are some identified limitations with the Nvidia nvcc compiler that would benefit from having some undocumented flags flipped i.e. --experimental_use_hermetic_linux_sandbox.

cgrindel commented 1 year ago

At the Bazel Rules SIG meeting on 2022-11-01, approved the inclusion of rules_cuda under bazel-contrib.