-
Notifications
You must be signed in to change notification settings - Fork 8
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
set specific GPU architectures for builds #160
Conversation
Following cunumeric is perfect. Although I suspect they might be compiling for architectures they don't support (@Jacobfaib does this make sense?). The downside is large binaries - this can get pretty annoying for users when it gets > 300mb. |
Ah yeah! I should have mentioned... with this change,
|
Entirely likely. I'll be honest, I don't think we thought that hard about it. Someone at some point said "you should compile for all-major" and so we did. Downside of course is that the binaries are downright hefty. I'd be careful with big binaries though, if you are doing ABI-versioned symlinks and shipping Python wheels. Python wheels don't support symlinks, instead it makes deep copies of everything. So what used to be libfoo.so.1.2.3 # 200MB
libfoo.so.1 -> libfoo.so.1.2.3
libfoo.so -> libfoo.so.1.2.3 will now be libfoo.so.1.2.3 # 200MB
libfoo.so.1 # 200MB
libfoo.so # 200MB That's partly the reason why cunumeric is such a big install... |
Thanks for that note @Jacobfaib , it's an important one! For now, |
Contributes to #115
While inspecting the size of the conda packages, I was surprised to see that they were tiny (2.5MB for the GPU variant on Python 12). I investigated that, and realized that in CI builds,
legate-boost
is not currently targeting a specific set of GPU architectures.It's falling back to
native
. Since builds are done on runners without a GPU, that means the packages are being built for whatever the single default target architecture is in the version of CMake getting pulled in (CMake docs on that).This PR proposes matching
legate
andcunumeric
's behavior, settingCUDAARCHS="all-major"
. @RAMitchell @trivialfis if you'd prefer to hard-code a specific set of architectures like80;86;90
or similar, let me know.Notes for Reviewers
Bad (good?) timing... as I opened this,
pre-commit
4.0 came out, breaking some of our configurations here that were relying on hooks that were incompatible with that version.pre-commit
-related changes that you see in the diff are to fix that.Mainly:
docformatter
to a specific unreleased commit, to get the fixes from 🩹 Fix pre commit hook manifest PyCQA/docformatter#287