-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
python3Packages.torch: drop submodules in favor of Nixpkgs #239291
base: master
Are you sure you want to change the base?
Conversation
7a1b72b
to
3513293
Compare
Fixes pytorch#44255. This is part of larger work I'm doing to allow for more `USE_SYSTEM_*` options to allow Nix to have faster re-builds of PyTorch: NixOS/nixpkgs#239291. Pull Request resolved: pytorch#104611 Approved by: https://github.com/ezyang, https://github.com/malfet
864c0e9
to
448fb88
Compare
@Dessix as you had asked about potential ways to help with this: The near-term goal is to be able to build Longer-term, I'd like to be able to build If you wanted to take a look into the targets CMake supports building, and whether we're able to build libtorch_cpu and libtorch_cuda independently of each other, that would be helpful! Alternatively, if you have any CMake experience, I'd love a second eye on the CMake PRs I've submitted upstream. |
aaeaf3b
to
09ea472
Compare
This change which involves creating multiple outputs for CUDA redistributable packages. We use a script to find out, ahead of time, the outputs each redist package provides. From that, we are able to create multiple outputs for supported redist packages, allowing users to specify exactly which components they require. Beyond the script which finds outputs ahead of time, there is some custom code involved in making this happen. For example, the way Nixpkgs typically handles multiple outputs involves making `dev` the default output when available, and adding `out` to `dev`'s `propagatedBuildInputs`. Instead, we make each output independent of the others. If a user wants only to include the headers found in a redist package, they can do so by choosing the `dev` output. If they want to include dynamic libraries, they can do so by specifying the `lib` output, or `static` for static libraries. To avoid breakages, we continue to provide the `out` output, which becomes the union of all other outputs, effectively making the split outputs opt-in.
225a72a
to
faaf22c
Compare
…ng them to buildInputs
Description of changes
Closes #239211.
Todo:
USE_ITT
flag Intel profiling: https://github.com/intel/ittapi)PyTorch efforts regarding upstream CMake:
FindCUDA.cmake
pytorch/pytorch#76082Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)