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

cudaPackages.backendStdenv.cc: gccForLibs #275947

Merged
merged 8 commits into from
Jan 13, 2024

Conversation

SomeoneSerge
Copy link
Contributor

@SomeoneSerge SomeoneSerge commented Dec 22, 2023

In relation to #226165

Based on:

[wip] hacks to let cc-wrapper allow us to specify a different gccLibs…
…/libstdc++ for the given cc

(cherry picked from commit dc6a8f9)

The actual changes to the cc-wrapper were omitted when cherry-picking because 2946b81 has introduced something potentially equivalent. I haven't had an in-dept look yet

I also want to try pointing cuda_nvcc directly at the compatible gcc, either via the setupCudaHook, or using the nvcc.profile if I get #275922 through first. Then we can start removing the backendStdenv

Accidentally, fixes the tensorflow failure caused by staging-next - we'll probably have more of those in the future

CC @NixOS/cuda-maintainers @rrbutani
Maybe CC #192459

Description of changes

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@SomeoneSerge
Copy link
Contributor Author

SomeoneSerge commented Jan 10, 2024

Split up and reworded the commits, updated the interface of cxxStdlib: now it's a record of { kind, package, solib}, where the package can be used to access meta and version, and the solib is the path to lib/ which already accounts for the system.config. This way it's hardcoded once in the cc-wrapper and we can re-use it for our autopatchelf needs

I'll now see if I can make a stdenv adapter automating this whole business

@SomeoneSerge SomeoneSerge force-pushed the fix/cuda-cc-wrapper branch 2 times, most recently from 4a8bf9e to 2bd5ea5 Compare January 11, 2024 00:33
@github-actions github-actions bot added the 6.topic: stdenv Standard environment label Jan 11, 2024
@SomeoneSerge SomeoneSerge changed the title cudaPackages.backendStdenv.cc: pass ccForLibs instead of libcxx cudaPackages.backendStdenv.cc: gccForLibs Jan 12, 2024
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/3259

@SomeoneSerge
Copy link
Contributor Author

Ofborg green, no rebuilds outside the cuda variant. Objections to merging tomorrow?

Comment on lines +241 to +246
/* NOTE: cc.cc is the unwrapped compiler. Should we respect the old
* wrapper instead? */
cc = targetStdenv.cc.cc;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@ConnorBaker
Copy link
Contributor

A couple of nits I'll add comments for, but other than those I'll say it looks okay -- I haven't however had an opportunity to test this :(

Comment on lines +113 to +114
# Analogously to cc_solib and gccForLibs_solib
libcxx_solib = "${lib.getLib libcxx}/lib";
Copy link
Contributor

Choose a reason for hiding this comment

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

I would have expected to see this

Suggested change
# Analogously to cc_solib and gccForLibs_solib
libcxx_solib = "${lib.getLib libcxx}/lib";
# Analogously to cc_solib and gccForLibs_solib
libcxx_solib = getLib libcxx
+ optionalString (targetPlatform != hostPlatform) "/${targetPlatform.config}";

Why do we (or do we not) nest when cross-compiling (beside the pain it causes our tooling, apparently #279952 (comment)).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Bc it was that way for darwin and i kept it, just moved to a variable

Comment on lines +279 to +282
# TODO: this is maybe not always correct?
# TODO: what happens when `nativeTools = true`?
Copy link
Contributor

Choose a reason for hiding this comment

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

Any further notes or comments on the two TODOs? If they're still TODO, would you mind adding a bit more description to them or making an issue to follow up on them so they're not lost?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comment on lines +461 to +471
# The above "fix" may be incorrect; gcc.cc.lib doesn't contain a
# `target-triple` dir but the correct fix may be to just remove the above?
#
# For clang it's not necessary (see `--gcc-toolchain` below) and for other
# situations adding in the above will bring in lots of other gcc libraries
# (i.e. sanitizer libraries, `libatomic`, `libquadmath`) besides just
# `libstdc++`; this may actually break clang.
Copy link
Contributor

Choose a reason for hiding this comment

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

Which above fix is this referring to? The other edit you made in the file is almost 200 lines earlier. If it's referring to that, can we move the comment there? This block seems out of place.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

These were left after cherry picking

This comment was marked as outdated.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@rrbutani why did you find it necessary to comment out dc6a8f9#diff-ad7b67d4a92a2db43281c9c45aa74c32341a554fbca0b6b25be593f4648abb5eR330?

I kept things as they were after @danielfullmer's PR

@GaetanLepage
Copy link
Contributor

Result of nixpkgs-review pr 275947 run on x86_64-linux 1

395 packages marked as broken and skipped:
  • caffe
  • caffe.bin
  • caffeWithCuda
  • caffeWithCuda.bin
  • cudaPackages.cudnn_7_4
  • cudaPackages.cudnn_7_4.dev
  • cudaPackages.cudnn_7_4.lib
  • cudaPackages.cudnn_7_4.static
  • cudaPackages.cudnn_7_6
  • cudaPackages.cudnn_7_6.dev
  • cudaPackages.cudnn_7_6.lib
  • cudaPackages.cudnn_7_6.static
  • cudaPackages.cudnn_8_0
  • cudaPackages.cudnn_8_0.dev
  • cudaPackages.cudnn_8_0.lib
  • cudaPackages.cudnn_8_0.static
  • cudaPackages.cudnn_8_1
  • cudaPackages.cudnn_8_1.dev
  • cudaPackages.cudnn_8_1.lib
  • cudaPackages.cudnn_8_1.static
  • cudaPackages.cudnn_8_2
  • cudaPackages.cudnn_8_2.dev
  • cudaPackages.cudnn_8_2.lib
  • cudaPackages.cudnn_8_2.static
  • cudaPackages.cudnn_8_3
  • cudaPackages.cudnn_8_3.dev
  • cudaPackages.cudnn_8_3.lib
  • cudaPackages.cudnn_8_3.static
  • cudaPackages.cudnn_8_4
  • cudaPackages.cudnn_8_4.dev
  • cudaPackages.cudnn_8_4.lib
  • cudaPackages.cudnn_8_4.static
  • cudaPackages.cudnn_8_5
  • cudaPackages.cudnn_8_5.dev
  • cudaPackages.cudnn_8_5.lib
  • cudaPackages.cudnn_8_5.static
  • cudaPackages.cudnn_8_6
  • cudaPackages.cudnn_8_6.dev
  • cudaPackages.cudnn_8_6.lib
  • cudaPackages.cudnn_8_6.static
  • cudaPackages.cudnn_8_7
  • cudaPackages.cudnn_8_7.dev
  • cudaPackages.cudnn_8_7.lib
  • cudaPackages.cudnn_8_7.static
  • cudaPackages.nccl-tests
  • cudaPackages.nvidia_driver
  • cudaPackages.nvidia_driver.bin
  • cudaPackages.nvidia_driver.lib
  • cudaPackages.tensorrt_8_0
  • cudaPackages.tensorrt_8_0.bin
  • cudaPackages.tensorrt_8_0.dev
  • cudaPackages.tensorrt_8_0.lib
  • cudaPackages.tensorrt_8_0.python
  • cudaPackages.tensorrt_8_0.sample
  • cudaPackages.tensorrt_8_0.static
  • cudaPackages.tensorrt_8_2
  • cudaPackages.tensorrt_8_2.bin
  • cudaPackages.tensorrt_8_2.dev
  • cudaPackages.tensorrt_8_2.lib
  • cudaPackages.tensorrt_8_2.python
  • cudaPackages.tensorrt_8_2.sample
  • cudaPackages.tensorrt_8_2.static
  • cudaPackages.tensorrt_8_4
  • cudaPackages.tensorrt_8_4.bin
  • cudaPackages.tensorrt_8_4.dev
  • cudaPackages.tensorrt_8_4.lib
  • cudaPackages.tensorrt_8_4.python
  • cudaPackages.tensorrt_8_4.sample
  • cudaPackages.tensorrt_8_4.static
  • cudaPackages.tensorrt_8_5
  • cudaPackages.tensorrt_8_5.bin
  • cudaPackages.tensorrt_8_5.dev
  • cudaPackages.tensorrt_8_5.lib
  • cudaPackages.tensorrt_8_5.python
  • cudaPackages.tensorrt_8_5.sample
  • cudaPackages.tensorrt_8_5.static
  • cudaPackagesGoogle.cudnn_7_4
  • cudaPackagesGoogle.cudnn_7_4.dev
  • cudaPackagesGoogle.cudnn_7_4.lib
  • cudaPackagesGoogle.cudnn_7_4.static
  • cudaPackagesGoogle.cudnn_7_6
  • cudaPackagesGoogle.cudnn_7_6.dev
  • cudaPackagesGoogle.cudnn_7_6.lib
  • cudaPackagesGoogle.cudnn_7_6.static
  • cudaPackagesGoogle.cudnn_8_0
  • cudaPackagesGoogle.cudnn_8_0.dev
  • cudaPackagesGoogle.cudnn_8_0.lib
  • cudaPackagesGoogle.cudnn_8_0.static
  • cudaPackagesGoogle.cudnn_8_1
  • cudaPackagesGoogle.cudnn_8_1.dev
  • cudaPackagesGoogle.cudnn_8_1.lib
  • cudaPackagesGoogle.cudnn_8_1.static
  • cudaPackagesGoogle.cudnn_8_2
  • cudaPackagesGoogle.cudnn_8_2.dev
  • cudaPackagesGoogle.cudnn_8_2.lib
  • cudaPackagesGoogle.cudnn_8_2.static
  • cudaPackagesGoogle.cudnn_8_3
  • cudaPackagesGoogle.cudnn_8_3.dev
  • cudaPackagesGoogle.cudnn_8_3.lib
  • cudaPackagesGoogle.cudnn_8_3.static
  • cudaPackagesGoogle.cudnn_8_4
  • cudaPackagesGoogle.cudnn_8_4.dev
  • cudaPackagesGoogle.cudnn_8_4.lib
  • cudaPackagesGoogle.cudnn_8_4.static
  • cudaPackagesGoogle.cudnn_8_5
  • cudaPackagesGoogle.cudnn_8_5.dev
  • cudaPackagesGoogle.cudnn_8_5.lib
  • cudaPackagesGoogle.cudnn_8_5.static
  • cudaPackagesGoogle.cudnn_8_6
  • cudaPackagesGoogle.cudnn_8_6.dev
  • cudaPackagesGoogle.cudnn_8_6.lib
  • cudaPackagesGoogle.cudnn_8_6.static
  • cudaPackagesGoogle.cudnn_8_7
  • cudaPackagesGoogle.cudnn_8_7.dev
  • cudaPackagesGoogle.cudnn_8_7.lib
  • cudaPackagesGoogle.cudnn_8_7.static
  • cudaPackagesGoogle.nccl-tests
  • cudaPackagesGoogle.nvidia_driver
  • cudaPackagesGoogle.nvidia_driver.bin
  • cudaPackagesGoogle.nvidia_driver.lib
  • cudaPackagesGoogle.tensorrt_8_0
  • cudaPackagesGoogle.tensorrt_8_0.bin
  • cudaPackagesGoogle.tensorrt_8_0.dev
  • cudaPackagesGoogle.tensorrt_8_0.lib
  • cudaPackagesGoogle.tensorrt_8_0.python
  • cudaPackagesGoogle.tensorrt_8_0.sample
  • cudaPackagesGoogle.tensorrt_8_0.static
  • cudaPackagesGoogle.tensorrt_8_2
  • cudaPackagesGoogle.tensorrt_8_2.bin
  • cudaPackagesGoogle.tensorrt_8_2.dev
  • cudaPackagesGoogle.tensorrt_8_2.lib
  • cudaPackagesGoogle.tensorrt_8_2.python
  • cudaPackagesGoogle.tensorrt_8_2.sample
  • cudaPackagesGoogle.tensorrt_8_2.static
  • cudaPackagesGoogle.tensorrt_8_4
  • cudaPackagesGoogle.tensorrt_8_4.bin
  • cudaPackagesGoogle.tensorrt_8_4.dev
  • cudaPackagesGoogle.tensorrt_8_4.lib
  • cudaPackagesGoogle.tensorrt_8_4.python
  • cudaPackagesGoogle.tensorrt_8_4.sample
  • cudaPackagesGoogle.tensorrt_8_4.static
  • cudaPackagesGoogle.tensorrt_8_5
  • cudaPackagesGoogle.tensorrt_8_5.bin
  • cudaPackagesGoogle.tensorrt_8_5.dev
  • cudaPackagesGoogle.tensorrt_8_5.lib
  • cudaPackagesGoogle.tensorrt_8_5.python
  • cudaPackagesGoogle.tensorrt_8_5.sample
  • cudaPackagesGoogle.tensorrt_8_5.static
  • cudaPackages_10.cudnn
  • cudaPackages_10.cudnn.dev
  • cudaPackages_10.cudnn.lib
  • cudaPackages_10.cudnn.static
  • cudaPackages_10.cudnn_7_4
  • cudaPackages_10.cudnn_7_4.dev
  • cudaPackages_10.cudnn_7_4.lib
  • cudaPackages_10.cudnn_7_4.static
  • cudaPackages_10.cudnn_7_6
  • cudaPackages_10.cudnn_7_6.dev
  • cudaPackages_10.cudnn_7_6.lib
  • cudaPackages_10.cudnn_7_6.static
  • cudaPackages_10.cudnn_8_0
  • cudaPackages_10.cudnn_8_0.dev
  • cudaPackages_10.cudnn_8_0.lib
  • cudaPackages_10.cudnn_8_0.static
  • cudaPackages_10.cudnn_8_8
  • cudaPackages_10.cudnn_8_8.dev
  • cudaPackages_10.cudnn_8_8.lib
  • cudaPackages_10.cudnn_8_8.static
  • cudaPackages_10.cudnn_8_9
  • cudaPackages_10.cudnn_8_9.dev
  • cudaPackages_10.cudnn_8_9.lib
  • cudaPackages_10.cudnn_8_9.static
  • cudaPackages_10.nccl-tests
  • cudaPackages_10.tensorrt
  • cudaPackages_10.tensorrt.bin
  • cudaPackages_10.tensorrt.dev
  • cudaPackages_10.tensorrt.lib
  • cudaPackages_10.tensorrt.python
  • cudaPackages_10.tensorrt.sample
  • cudaPackages_10.tensorrt.static
  • cudaPackages_10.tensorrt_8_0
  • cudaPackages_10.tensorrt_8_0.bin
  • cudaPackages_10.tensorrt_8_0.dev
  • cudaPackages_10.tensorrt_8_0.lib
  • cudaPackages_10.tensorrt_8_0.python
  • cudaPackages_10.tensorrt_8_0.sample
  • cudaPackages_10.tensorrt_8_0.static
  • cudaPackages_10.tensorrt_8_2
  • cudaPackages_10.tensorrt_8_2.bin
  • cudaPackages_10.tensorrt_8_2.dev
  • cudaPackages_10.tensorrt_8_2.lib
  • cudaPackages_10.tensorrt_8_2.python
  • cudaPackages_10.tensorrt_8_2.sample
  • cudaPackages_10.tensorrt_8_2.static
  • cudaPackages_10.tensorrt_8_4
  • cudaPackages_10.tensorrt_8_4.bin
  • cudaPackages_10.tensorrt_8_4.dev
  • cudaPackages_10.tensorrt_8_4.lib
  • cudaPackages_10.tensorrt_8_4.python
  • cudaPackages_10.tensorrt_8_4.sample
  • cudaPackages_10.tensorrt_8_4.static
  • cudaPackages_10.tensorrt_8_5
  • cudaPackages_10.tensorrt_8_5.bin
  • cudaPackages_10.tensorrt_8_5.dev
  • cudaPackages_10.tensorrt_8_5.lib
  • cudaPackages_10.tensorrt_8_5.python
  • cudaPackages_10.tensorrt_8_5.sample
  • cudaPackages_10.tensorrt_8_5.static
  • cudaPackages_10.tensorrt_8_6
  • cudaPackages_10.tensorrt_8_6.bin
  • cudaPackages_10.tensorrt_8_6.dev
  • cudaPackages_10.tensorrt_8_6.lib
  • cudaPackages_10.tensorrt_8_6.python
  • cudaPackages_10.tensorrt_8_6.sample
  • cudaPackages_10.tensorrt_8_6.static
  • cudaPackages_11.cudnn_7_4
  • cudaPackages_11.cudnn_7_4.dev
  • cudaPackages_11.cudnn_7_4.lib
  • cudaPackages_11.cudnn_7_4.static
  • cudaPackages_11.cudnn_7_6
  • cudaPackages_11.cudnn_7_6.dev
  • cudaPackages_11.cudnn_7_6.lib
  • cudaPackages_11.cudnn_7_6.static
  • cudaPackages_11.cudnn_8_0
  • cudaPackages_11.cudnn_8_0.dev
  • cudaPackages_11.cudnn_8_0.lib
  • cudaPackages_11.cudnn_8_0.static
  • cudaPackages_11.cudnn_8_1
  • cudaPackages_11.cudnn_8_1.dev
  • cudaPackages_11.cudnn_8_1.lib
  • cudaPackages_11.cudnn_8_1.static
  • cudaPackages_11.cudnn_8_2
  • cudaPackages_11.cudnn_8_2.dev
  • cudaPackages_11.cudnn_8_2.lib
  • cudaPackages_11.cudnn_8_2.static
  • cudaPackages_11.cudnn_8_3
  • cudaPackages_11.cudnn_8_3.dev
  • cudaPackages_11.cudnn_8_3.lib
  • cudaPackages_11.cudnn_8_3.static
  • cudaPackages_11.cudnn_8_4
  • cudaPackages_11.cudnn_8_4.dev
  • cudaPackages_11.cudnn_8_4.lib
  • cudaPackages_11.cudnn_8_4.static
  • cudaPackages_11.cudnn_8_5
  • cudaPackages_11.cudnn_8_5.dev
  • cudaPackages_11.cudnn_8_5.lib
  • cudaPackages_11.cudnn_8_5.static
  • cudaPackages_11.cudnn_8_6
  • cudaPackages_11.cudnn_8_6.dev
  • cudaPackages_11.cudnn_8_6.lib
  • cudaPackages_11.cudnn_8_6.static
  • cudaPackages_11.cudnn_8_7
  • cudaPackages_11.cudnn_8_7.dev
  • cudaPackages_11.cudnn_8_7.lib
  • cudaPackages_11.cudnn_8_7.static
  • cudaPackages_11.nccl-tests
  • cudaPackages_11.nvidia_driver
  • cudaPackages_11.nvidia_driver.bin
  • cudaPackages_11.nvidia_driver.lib
  • cudaPackages_11.tensorrt_8_0
  • cudaPackages_11.tensorrt_8_0.bin
  • cudaPackages_11.tensorrt_8_0.dev
  • cudaPackages_11.tensorrt_8_0.lib
  • cudaPackages_11.tensorrt_8_0.python
  • cudaPackages_11.tensorrt_8_0.sample
  • cudaPackages_11.tensorrt_8_0.static
  • cudaPackages_11.tensorrt_8_2
  • cudaPackages_11.tensorrt_8_2.bin
  • cudaPackages_11.tensorrt_8_2.dev
  • cudaPackages_11.tensorrt_8_2.lib
  • cudaPackages_11.tensorrt_8_2.python
  • cudaPackages_11.tensorrt_8_2.sample
  • cudaPackages_11.tensorrt_8_2.static
  • cudaPackages_11.tensorrt_8_4
  • cudaPackages_11.tensorrt_8_4.bin
  • cudaPackages_11.tensorrt_8_4.dev
  • cudaPackages_11.tensorrt_8_4.lib
  • cudaPackages_11.tensorrt_8_4.python
  • cudaPackages_11.tensorrt_8_4.sample
  • cudaPackages_11.tensorrt_8_4.static
  • cudaPackages_11.tensorrt_8_5
  • cudaPackages_11.tensorrt_8_5.bin
  • cudaPackages_11.tensorrt_8_5.dev
  • cudaPackages_11.tensorrt_8_5.lib
  • cudaPackages_11.tensorrt_8_5.python
  • cudaPackages_11.tensorrt_8_5.sample
  • cudaPackages_11.tensorrt_8_5.static
  • cudaPackages_12.cudnn_7_4
  • cudaPackages_12.cudnn_7_4.dev
  • cudaPackages_12.cudnn_7_4.lib
  • cudaPackages_12.cudnn_7_4.static
  • cudaPackages_12.cudnn_7_6
  • cudaPackages_12.cudnn_7_6.dev
  • cudaPackages_12.cudnn_7_6.lib
  • cudaPackages_12.cudnn_7_6.static
  • cudaPackages_12.cudnn_8_0
  • cudaPackages_12.cudnn_8_0.dev
  • cudaPackages_12.cudnn_8_0.lib
  • cudaPackages_12.cudnn_8_0.static
  • cudaPackages_12.cudnn_8_1
  • cudaPackages_12.cudnn_8_1.dev
  • cudaPackages_12.cudnn_8_1.lib
  • cudaPackages_12.cudnn_8_1.static
  • cudaPackages_12.cudnn_8_2
  • cudaPackages_12.cudnn_8_2.dev
  • cudaPackages_12.cudnn_8_2.lib
  • cudaPackages_12.cudnn_8_2.static
  • cudaPackages_12.cudnn_8_3
  • cudaPackages_12.cudnn_8_3.dev
  • cudaPackages_12.cudnn_8_3.lib
  • cudaPackages_12.cudnn_8_3.static
  • cudaPackages_12.cudnn_8_4
  • cudaPackages_12.cudnn_8_4.dev
  • cudaPackages_12.cudnn_8_4.lib
  • cudaPackages_12.cudnn_8_4.static
  • cudaPackages_12.cudnn_8_5
  • cudaPackages_12.cudnn_8_5.dev
  • cudaPackages_12.cudnn_8_5.lib
  • cudaPackages_12.cudnn_8_5.static
  • cudaPackages_12.cudnn_8_6
  • cudaPackages_12.cudnn_8_6.dev
  • cudaPackages_12.cudnn_8_6.lib
  • cudaPackages_12.cudnn_8_6.static
  • cudaPackages_12.cudnn_8_7
  • cudaPackages_12.cudnn_8_7.dev
  • cudaPackages_12.cudnn_8_7.lib
  • cudaPackages_12.cudnn_8_7.static
  • cudaPackages_12.cudnn_8_8
  • cudaPackages_12.cudnn_8_8.dev
  • cudaPackages_12.cudnn_8_8.lib
  • cudaPackages_12.cudnn_8_8.static
  • cudaPackages_12.cudnn_8_9
  • cudaPackages_12.cudnn_8_9.dev
  • cudaPackages_12.cudnn_8_9.lib
  • cudaPackages_12.cudnn_8_9.static
  • cudaPackages_12.nccl-tests
  • cudaPackages_12.nvidia_driver
  • cudaPackages_12.nvidia_driver.bin
  • cudaPackages_12.nvidia_driver.lib
  • cudaPackages_12.tensorrt_8_0
  • cudaPackages_12.tensorrt_8_0.bin
  • cudaPackages_12.tensorrt_8_0.dev
  • cudaPackages_12.tensorrt_8_0.lib
  • cudaPackages_12.tensorrt_8_0.python
  • cudaPackages_12.tensorrt_8_0.sample
  • cudaPackages_12.tensorrt_8_0.static
  • cudaPackages_12.tensorrt_8_2
  • cudaPackages_12.tensorrt_8_2.bin
  • cudaPackages_12.tensorrt_8_2.dev
  • cudaPackages_12.tensorrt_8_2.lib
  • cudaPackages_12.tensorrt_8_2.python
  • cudaPackages_12.tensorrt_8_2.sample
  • cudaPackages_12.tensorrt_8_2.static
  • cudaPackages_12.tensorrt_8_4
  • cudaPackages_12.tensorrt_8_4.bin
  • cudaPackages_12.tensorrt_8_4.dev
  • cudaPackages_12.tensorrt_8_4.lib
  • cudaPackages_12.tensorrt_8_4.python
  • cudaPackages_12.tensorrt_8_4.sample
  • cudaPackages_12.tensorrt_8_4.static
  • cudaPackages_12.tensorrt_8_5
  • cudaPackages_12.tensorrt_8_5.bin
  • cudaPackages_12.tensorrt_8_5.dev
  • cudaPackages_12.tensorrt_8_5.lib
  • cudaPackages_12.tensorrt_8_5.python
  • cudaPackages_12.tensorrt_8_5.sample
  • cudaPackages_12.tensorrt_8_5.static
  • cudaPackages_12.tensorrt_8_6
  • cudaPackages_12.tensorrt_8_6.bin
  • cudaPackages_12.tensorrt_8_6.dev
  • cudaPackages_12.tensorrt_8_6.lib
  • cudaPackages_12.tensorrt_8_6.python
  • cudaPackages_12.tensorrt_8_6.sample
  • cudaPackages_12.tensorrt_8_6.static
  • python311Packages.caffe
  • python311Packages.caffe.bin
  • python311Packages.caffeWithCuda
  • python311Packages.caffeWithCuda.bin
  • python311Packages.dm-sonnet
  • python311Packages.dm-sonnet.dist
  • python311Packages.elegy
  • python311Packages.elegy.dist
  • python311Packages.openllm
  • python311Packages.openllm.dist
  • python311Packages.scikit-tda
  • python311Packages.scikit-tda.dist
  • python311Packages.tensorflow-datasets
  • python311Packages.tensorflow-datasets.dist
  • python311Packages.tensorflowWithCuda
  • python311Packages.tensorflowWithCuda.dist
  • python311Packages.theanoWithCuda
  • python311Packages.theanoWithCuda.dist
  • python311Packages.treex
  • python311Packages.treex.dist
  • truecrack-cuda
86 packages failed to build:
  • colmapWithCuda
  • cudaPackages.cuda_nvprof (cudaPackages.cuda_nvprof.bin ,cudaPackages.cuda_nvprof.lib ,cudaPackagesGoogle.cuda_nvprof ,cudaPackagesGoogle.cuda_nvprof.bin ,cudaPackagesGoogle.cuda_nvprof.lib ,cudaPackages_11.cuda_nvprof ,cudaPackages_11.cuda_nvprof.bin ,cudaPackages_11.cuda_nvprof.lib)
  • cudaPackages.libcufile (cudaPackages.libcufile.dev ,cudaPackages.libcufile.lib ,cudaPackages.libcufile.sample ,cudaPackages.libcufile.static ,cudaPackagesGoogle.libcufile ,cudaPackagesGoogle.libcufile.dev ,cudaPackagesGoogle.libcufile.lib ,cudaPackagesGoogle.libcufile.sample ,cudaPackagesGoogle.libcufile.static ,cudaPackages_11.libcufile ,cudaPackages_11.libcufile.dev ,cudaPackages_11.libcufile.lib ,cudaPackages_11.libcufile.sample ,cudaPackages_11.libcufile.static)
  • cudaPackages.nsight_systems (cudaPackages.nsight_systems.bin ,cudaPackagesGoogle.nsight_systems ,cudaPackagesGoogle.nsight_systems.bin ,cudaPackages_11.nsight_systems ,cudaPackages_11.nsight_systems.bin)
  • cudaPackages.tensorrt (cudaPackages.tensorrt.bin ,cudaPackages.tensorrt.dev ,cudaPackages.tensorrt.lib ,cudaPackages.tensorrt.python ,cudaPackages.tensorrt.sample ,cudaPackages.tensorrt.static ,cudaPackages.tensorrt_8_6 ,cudaPackages.tensorrt_8_6.bin ,cudaPackages.tensorrt_8_6.dev ,cudaPackages.tensorrt_8_6.lib ,cudaPackages.tensorrt_8_6.python ,cudaPackages.tensorrt_8_6.sample ,cudaPackages.tensorrt_8_6.static ,cudaPackagesGoogle.tensorrt ,cudaPackagesGoogle.tensorrt.bin ,cudaPackagesGoogle.tensorrt.dev ,cudaPackagesGoogle.tensorrt.lib ,cudaPackagesGoogle.tensorrt.python ,cudaPackagesGoogle.tensorrt.sample ,cudaPackagesGoogle.tensorrt.static ,cudaPackagesGoogle.tensorrt_8_6 ,cudaPackagesGoogle.tensorrt_8_6.bin ,cudaPackagesGoogle.tensorrt_8_6.dev ,cudaPackagesGoogle.tensorrt_8_6.lib ,cudaPackagesGoogle.tensorrt_8_6.python ,cudaPackagesGoogle.tensorrt_8_6.sample ,cudaPackagesGoogle.tensorrt_8_6.static ,cudaPackages_11.tensorrt ,cudaPackages_11.tensorrt.bin ,cudaPackages_11.tensorrt.dev ,cudaPackages_11.tensorrt.lib ,cudaPackages_11.tensorrt.python ,cudaPackages_11.tensorrt.sample ,cudaPackages_11.tensorrt.static ,cudaPackages_11.tensorrt_8_6 ,cudaPackages_11.tensorrt_8_6.bin ,cudaPackages_11.tensorrt_8_6.dev ,cudaPackages_11.tensorrt_8_6.lib ,cudaPackages_11.tensorrt_8_6.python ,cudaPackages_11.tensorrt_8_6.sample ,cudaPackages_11.tensorrt_8_6.static)
  • cudaPackages_10.cuda-samples
  • cudaPackages_10.nccl
  • cudaPackages_10.nccl.dev
  • cudaPackages_12.cuda-samples
  • cudaPackages_12.cuda_nvprof (cudaPackages_12.cuda_nvprof.bin ,cudaPackages_12.cuda_nvprof.lib)
  • cudaPackages_12.cutensor (cudaPackages_12.cutensor.dev ,cudaPackages_12.cutensor.lib ,cudaPackages_12.cutensor.static ,cudaPackages_12.cutensor_1_7 ,cudaPackages_12.cutensor_1_7.dev ,cudaPackages_12.cutensor_1_7.lib ,cudaPackages_12.cutensor_1_7.static)
  • cudaPackages_12.cutensor_1_3 (cudaPackages_12.cutensor_1_3.dev ,cudaPackages_12.cutensor_1_3.lib ,cudaPackages_12.cutensor_1_3.static)
  • cudaPackages_12.cutensor_1_4 (cudaPackages_12.cutensor_1_4.dev ,cudaPackages_12.cutensor_1_4.lib ,cudaPackages_12.cutensor_1_4.static)
  • cudaPackages_12.cutensor_1_5 (cudaPackages_12.cutensor_1_5.dev ,cudaPackages_12.cutensor_1_5.lib ,cudaPackages_12.cutensor_1_5.static)
  • cudaPackages_12.cutensor_1_6 (cudaPackages_12.cutensor_1_6.dev ,cudaPackages_12.cutensor_1_6.lib ,cudaPackages_12.cutensor_1_6.static)
  • cudaPackages_12.libcufile (cudaPackages_12.libcufile.dev ,cudaPackages_12.libcufile.lib ,cudaPackages_12.libcufile.sample ,cudaPackages_12.libcufile.static)
  • cudaPackages_12.nccl
  • cudaPackages_12.nccl.dev
  • cudaPackages_12.nsight_compute (cudaPackages_12.nsight_compute.bin)
  • cudaPackages_12.nsight_systems (cudaPackages_12.nsight_systems.bin)
  • cudaPackages_12.tensorrt (cudaPackages_12.tensorrt.bin ,cudaPackages_12.tensorrt.dev ,cudaPackages_12.tensorrt.lib ,cudaPackages_12.tensorrt.python ,cudaPackages_12.tensorrt.sample ,cudaPackages_12.tensorrt.static)
  • dcgm
  • frigate
  • gwe
  • katagoTensorRT
  • katagoWithCuda
  • magma-cuda
  • magma-cuda-static
  • mathematica-cuda
  • mathematica-webdoc-cuda
  • prometheus-dcgm-exporter
  • python311Packages.bambi
  • python311Packages.bambi.dist
  • python311Packages.bitsandbytes
  • python311Packages.bitsandbytes.dist
  • python311Packages.cleanlab
  • python311Packages.cleanlab.dist
  • python311Packages.cupy
  • python311Packages.cupy.dist
  • python311Packages.dalle-mini
  • python311Packages.dalle-mini.dist
  • python311Packages.distrax
  • python311Packages.distrax.dist
  • python311Packages.dm-haiku
  • python311Packages.dm-haiku.dist
  • python311Packages.flax
  • python311Packages.flax.dist
  • python311Packages.gpt-2-simple
  • python311Packages.gpt-2-simple.dist
  • python311Packages.mhcflurry
  • python311Packages.mhcflurry.dist
  • python311Packages.n3fit
  • python311Packages.n3fit.dist
  • python311Packages.objax
  • python311Packages.objax.dist
  • python311Packages.pymc
  • python311Packages.pymc.dist
  • python311Packages.rlax
  • python311Packages.rlax.dist
  • python311Packages.tensorrt
  • python311Packages.tensorrt.dist
  • python311Packages.tf2onnx
  • python311Packages.tf2onnx.dist
  • python311Packages.tiny-cuda-nn
  • python311Packages.torchWithCuda
  • python311Packages.torchWithCuda.cxxdev
  • python311Packages.torchWithCuda.dev
  • python311Packages.torchWithCuda.dist
  • python311Packages.torchWithCuda.lib
  • python311Packages.trfl
  • python311Packages.trfl.dist
  • python311Packages.umap-learn
  • python311Packages.umap-learn.dist
  • python311Packages.vqgan-jax
  • python311Packages.vqgan-jax.dist
  • python312Packages.cupy
  • python312Packages.cupy.dist
  • python312Packages.pynvml
  • python312Packages.pynvml.dist
  • python312Packages.tensorrt
  • python312Packages.tensorrt.dist
  • tiny-cuda-nn
  • tts
  • tts.dist
  • wyoming-openwakeword
  • wyoming-openwakeword.dist
158 packages built:
  • cudaPackages.backendStdenv (cudaPackagesGoogle.backendStdenv ,cudaPackages_11.backendStdenv)
  • cudaPackages.cuda-samples (cudaPackagesGoogle.cuda-samples ,cudaPackages_11.cuda-samples)
  • cudaPackages.cuda_cccl (cudaPackages.cuda_cccl.dev ,cudaPackagesGoogle.cuda_cccl ,cudaPackagesGoogle.cuda_cccl.dev ,cudaPackages_11.cuda_cccl ,cudaPackages_11.cuda_cccl.dev)
  • cudaPackages.cuda_cudart (cudaPackages.cuda_cudart.dev ,cudaPackages.cuda_cudart.lib ,cudaPackages.cuda_cudart.static ,cudaPackagesGoogle.cuda_cudart ,cudaPackagesGoogle.cuda_cudart.dev ,cudaPackagesGoogle.cuda_cudart.lib ,cudaPackagesGoogle.cuda_cudart.static ,cudaPackages_11.cuda_cudart ,cudaPackages_11.cuda_cudart.dev ,cudaPackages_11.cuda_cudart.lib ,cudaPackages_11.cuda_cudart.static)
  • cudaPackages.cuda_cuobjdump (cudaPackages.cuda_cuobjdump.bin ,cudaPackagesGoogle.cuda_cuobjdump ,cudaPackagesGoogle.cuda_cuobjdump.bin ,cudaPackages_11.cuda_cuobjdump ,cudaPackages_11.cuda_cuobjdump.bin)
  • cudaPackages.cuda_cupti (cudaPackages.cuda_cupti.dev ,cudaPackages.cuda_cupti.lib ,cudaPackages.cuda_cupti.sample ,cudaPackages.cuda_cupti.static ,cudaPackagesGoogle.cuda_cupti ,cudaPackagesGoogle.cuda_cupti.dev ,cudaPackagesGoogle.cuda_cupti.lib ,cudaPackagesGoogle.cuda_cupti.sample ,cudaPackagesGoogle.cuda_cupti.static ,cudaPackages_11.cuda_cupti ,cudaPackages_11.cuda_cupti.dev ,cudaPackages_11.cuda_cupti.lib ,cudaPackages_11.cuda_cupti.sample ,cudaPackages_11.cuda_cupti.static)
  • cudaPackages.cuda_cuxxfilt (cudaPackages.cuda_cuxxfilt.bin ,cudaPackages.cuda_cuxxfilt.dev ,cudaPackages.cuda_cuxxfilt.static ,cudaPackagesGoogle.cuda_cuxxfilt ,cudaPackagesGoogle.cuda_cuxxfilt.bin ,cudaPackagesGoogle.cuda_cuxxfilt.dev ,cudaPackagesGoogle.cuda_cuxxfilt.static ,cudaPackages_11.cuda_cuxxfilt ,cudaPackages_11.cuda_cuxxfilt.bin ,cudaPackages_11.cuda_cuxxfilt.dev ,cudaPackages_11.cuda_cuxxfilt.static)
  • cudaPackages.cuda_demo_suite (cudaPackagesGoogle.cuda_demo_suite ,cudaPackages_11.cuda_demo_suite)
  • cudaPackages.cuda_documentation (cudaPackagesGoogle.cuda_documentation ,cudaPackages_11.cuda_documentation)
  • cudaPackages.cuda_gdb (cudaPackages.cuda_gdb.bin ,cudaPackagesGoogle.cuda_gdb ,cudaPackagesGoogle.cuda_gdb.bin ,cudaPackages_11.cuda_gdb ,cudaPackages_11.cuda_gdb.bin)
  • cudaPackages.cuda_memcheck (cudaPackages.cuda_memcheck.bin ,cudaPackagesGoogle.cuda_memcheck ,cudaPackagesGoogle.cuda_memcheck.bin ,cudaPackages_11.cuda_memcheck ,cudaPackages_11.cuda_memcheck.bin)
  • cudaPackages.cuda_nsight (cudaPackages.cuda_nsight.bin ,cudaPackagesGoogle.cuda_nsight ,cudaPackagesGoogle.cuda_nsight.bin ,cudaPackages_11.cuda_nsight ,cudaPackages_11.cuda_nsight.bin)
  • cudaPackages.cuda_nvcc (cudaPackages.cuda_nvcc.bin ,cudaPackages.cuda_nvcc.dev ,cudaPackages.cuda_nvcc.lib ,cudaPackages.cuda_nvcc.static ,cudaPackagesGoogle.cuda_nvcc ,cudaPackagesGoogle.cuda_nvcc.bin ,cudaPackagesGoogle.cuda_nvcc.dev ,cudaPackagesGoogle.cuda_nvcc.lib ,cudaPackagesGoogle.cuda_nvcc.static ,cudaPackages_11.cuda_nvcc ,cudaPackages_11.cuda_nvcc.bin ,cudaPackages_11.cuda_nvcc.dev ,cudaPackages_11.cuda_nvcc.lib ,cudaPackages_11.cuda_nvcc.static)
  • cudaPackages.cuda_nvdisasm (cudaPackages.cuda_nvdisasm.bin ,cudaPackagesGoogle.cuda_nvdisasm ,cudaPackagesGoogle.cuda_nvdisasm.bin ,cudaPackages_11.cuda_nvdisasm ,cudaPackages_11.cuda_nvdisasm.bin)
  • cudaPackages.cuda_nvml_dev (cudaPackages.cuda_nvml_dev.dev ,cudaPackages.cuda_nvml_dev.lib ,cudaPackagesGoogle.cuda_nvml_dev ,cudaPackagesGoogle.cuda_nvml_dev.dev ,cudaPackagesGoogle.cuda_nvml_dev.lib ,cudaPackages_11.cuda_nvml_dev ,cudaPackages_11.cuda_nvml_dev.dev ,cudaPackages_11.cuda_nvml_dev.lib)
  • cudaPackages.cuda_nvprune (cudaPackages.cuda_nvprune.bin ,cudaPackagesGoogle.cuda_nvprune ,cudaPackagesGoogle.cuda_nvprune.bin ,cudaPackages_11.cuda_nvprune ,cudaPackages_11.cuda_nvprune.bin)
  • cudaPackages.cuda_nvrtc (cudaPackages.cuda_nvrtc.dev ,cudaPackages.cuda_nvrtc.lib ,cudaPackages.cuda_nvrtc.static ,cudaPackagesGoogle.cuda_nvrtc ,cudaPackagesGoogle.cuda_nvrtc.dev ,cudaPackagesGoogle.cuda_nvrtc.lib ,cudaPackagesGoogle.cuda_nvrtc.static ,cudaPackages_11.cuda_nvrtc ,cudaPackages_11.cuda_nvrtc.dev ,cudaPackages_11.cuda_nvrtc.lib ,cudaPackages_11.cuda_nvrtc.static)
  • cudaPackages.cuda_nvtx (cudaPackages.cuda_nvtx.dev ,cudaPackages.cuda_nvtx.lib ,cudaPackagesGoogle.cuda_nvtx ,cudaPackagesGoogle.cuda_nvtx.dev ,cudaPackagesGoogle.cuda_nvtx.lib ,cudaPackages_11.cuda_nvtx ,cudaPackages_11.cuda_nvtx.dev ,cudaPackages_11.cuda_nvtx.lib)
  • cudaPackages.cuda_nvvp (cudaPackages.cuda_nvvp.bin ,cudaPackagesGoogle.cuda_nvvp ,cudaPackagesGoogle.cuda_nvvp.bin ,cudaPackages_11.cuda_nvvp ,cudaPackages_11.cuda_nvvp.bin)
  • cudaPackages.cuda_profiler_api (cudaPackages.cuda_profiler_api.dev ,cudaPackagesGoogle.cuda_profiler_api ,cudaPackagesGoogle.cuda_profiler_api.dev ,cudaPackages_11.cuda_profiler_api ,cudaPackages_11.cuda_profiler_api.dev)
  • cudaPackages.cuda_sanitizer_api (cudaPackages.cuda_sanitizer_api.bin ,cudaPackagesGoogle.cuda_sanitizer_api ,cudaPackagesGoogle.cuda_sanitizer_api.bin ,cudaPackages_11.cuda_sanitizer_api ,cudaPackages_11.cuda_sanitizer_api.bin)
  • cudatoolkit (cudaPackages.cudatoolkit ,cudatoolkit_11)
  • cudatoolkit.doc (cudaPackages.cudatoolkit.doc ,cudatoolkit_11.doc)
  • cudatoolkit.lib (cudaPackages.cudatoolkit.lib ,cudatoolkit_11.lib)
  • cudaPackages.cudnn (cudaPackages.cudnn.dev ,cudaPackages.cudnn.lib ,cudaPackages.cudnn.static ,cudaPackages.cudnn_8_9 ,cudaPackages.cudnn_8_9.dev ,cudaPackages.cudnn_8_9.lib ,cudaPackages.cudnn_8_9.static ,cudaPackagesGoogle.cudnn ,cudaPackagesGoogle.cudnn.dev ,cudaPackagesGoogle.cudnn.lib ,cudaPackagesGoogle.cudnn.static ,cudaPackagesGoogle.cudnn_8_9 ,cudaPackagesGoogle.cudnn_8_9.dev ,cudaPackagesGoogle.cudnn_8_9.lib ,cudaPackagesGoogle.cudnn_8_9.static ,cudaPackages_11.cudnn ,cudaPackages_11.cudnn.dev ,cudaPackages_11.cudnn.lib ,cudaPackages_11.cudnn.static ,cudaPackages_11.cudnn_8_9 ,cudaPackages_11.cudnn_8_9.dev ,cudaPackages_11.cudnn_8_9.lib ,cudaPackages_11.cudnn_8_9.static)
  • cudaPackages.cudnn_8_8 (cudaPackages.cudnn_8_8.dev ,cudaPackages.cudnn_8_8.lib ,cudaPackages.cudnn_8_8.static ,cudaPackagesGoogle.cudnn_8_8 ,cudaPackagesGoogle.cudnn_8_8.dev ,cudaPackagesGoogle.cudnn_8_8.lib ,cudaPackagesGoogle.cudnn_8_8.static ,cudaPackages_11.cudnn_8_8 ,cudaPackages_11.cudnn_8_8.dev ,cudaPackages_11.cudnn_8_8.lib ,cudaPackages_11.cudnn_8_8.static)
  • cudaPackages.cutensor (cudaPackages.cutensor.dev ,cudaPackages.cutensor.lib ,cudaPackages.cutensor.static ,cudaPackages.cutensor_1_7 ,cudaPackages.cutensor_1_7.dev ,cudaPackages.cutensor_1_7.lib ,cudaPackages.cutensor_1_7.static ,cudaPackagesGoogle.cutensor ,cudaPackagesGoogle.cutensor.dev ,cudaPackagesGoogle.cutensor.lib ,cudaPackagesGoogle.cutensor.static ,cudaPackagesGoogle.cutensor_1_7 ,cudaPackagesGoogle.cutensor_1_7.dev ,cudaPackagesGoogle.cutensor_1_7.lib ,cudaPackagesGoogle.cutensor_1_7.static ,cudaPackages_11.cutensor ,cudaPackages_11.cutensor.dev ,cudaPackages_11.cutensor.lib ,cudaPackages_11.cutensor.static ,cudaPackages_11.cutensor_1_7 ,cudaPackages_11.cutensor_1_7.dev ,cudaPackages_11.cutensor_1_7.lib ,cudaPackages_11.cutensor_1_7.static)
  • cudaPackages.cutensor_1_3 (cudaPackages.cutensor_1_3.dev ,cudaPackages.cutensor_1_3.lib ,cudaPackages.cutensor_1_3.static ,cudaPackagesGoogle.cutensor_1_3 ,cudaPackagesGoogle.cutensor_1_3.dev ,cudaPackagesGoogle.cutensor_1_3.lib ,cudaPackagesGoogle.cutensor_1_3.static ,cudaPackages_11.cutensor_1_3 ,cudaPackages_11.cutensor_1_3.dev ,cudaPackages_11.cutensor_1_3.lib ,cudaPackages_11.cutensor_1_3.static)
  • cudaPackages.cutensor_1_4 (cudaPackages.cutensor_1_4.dev ,cudaPackages.cutensor_1_4.lib ,cudaPackages.cutensor_1_4.static ,cudaPackagesGoogle.cutensor_1_4 ,cudaPackagesGoogle.cutensor_1_4.dev ,cudaPackagesGoogle.cutensor_1_4.lib ,cudaPackagesGoogle.cutensor_1_4.static ,cudaPackages_11.cutensor_1_4 ,cudaPackages_11.cutensor_1_4.dev ,cudaPackages_11.cutensor_1_4.lib ,cudaPackages_11.cutensor_1_4.static)
  • cudaPackages.cutensor_1_5 (cudaPackages.cutensor_1_5.dev ,cudaPackages.cutensor_1_5.lib ,cudaPackages.cutensor_1_5.static ,cudaPackagesGoogle.cutensor_1_5 ,cudaPackagesGoogle.cutensor_1_5.dev ,cudaPackagesGoogle.cutensor_1_5.lib ,cudaPackagesGoogle.cutensor_1_5.static ,cudaPackages_11.cutensor_1_5 ,cudaPackages_11.cutensor_1_5.dev ,cudaPackages_11.cutensor_1_5.lib ,cudaPackages_11.cutensor_1_5.static)
  • cudaPackages.cutensor_1_6 (cudaPackages.cutensor_1_6.dev ,cudaPackages.cutensor_1_6.lib ,cudaPackages.cutensor_1_6.static ,cudaPackagesGoogle.cutensor_1_6 ,cudaPackagesGoogle.cutensor_1_6.dev ,cudaPackagesGoogle.cutensor_1_6.lib ,cudaPackagesGoogle.cutensor_1_6.static ,cudaPackages_11.cutensor_1_6 ,cudaPackages_11.cutensor_1_6.dev ,cudaPackages_11.cutensor_1_6.lib ,cudaPackages_11.cutensor_1_6.static)
  • cudaPackages.fabricmanager (cudaPackages.fabricmanager.bin ,cudaPackages.fabricmanager.dev ,cudaPackages.fabricmanager.lib ,cudaPackagesGoogle.fabricmanager ,cudaPackagesGoogle.fabricmanager.bin ,cudaPackagesGoogle.fabricmanager.dev ,cudaPackagesGoogle.fabricmanager.lib ,cudaPackages_11.fabricmanager ,cudaPackages_11.fabricmanager.bin ,cudaPackages_11.fabricmanager.dev ,cudaPackages_11.fabricmanager.lib)
  • cudaPackages.libcublas (cudaPackages.libcublas.dev ,cudaPackages.libcublas.lib ,cudaPackages.libcublas.static ,cudaPackagesGoogle.libcublas ,cudaPackagesGoogle.libcublas.dev ,cudaPackagesGoogle.libcublas.lib ,cudaPackagesGoogle.libcublas.static ,cudaPackages_11.libcublas ,cudaPackages_11.libcublas.dev ,cudaPackages_11.libcublas.lib ,cudaPackages_11.libcublas.static)
  • cudaPackages.libcufft (cudaPackages.libcufft.dev ,cudaPackages.libcufft.lib ,cudaPackages.libcufft.static ,cudaPackagesGoogle.libcufft ,cudaPackagesGoogle.libcufft.dev ,cudaPackagesGoogle.libcufft.lib ,cudaPackagesGoogle.libcufft.static ,cudaPackages_11.libcufft ,cudaPackages_11.libcufft.dev ,cudaPackages_11.libcufft.lib ,cudaPackages_11.libcufft.static)
  • cudaPackages.libcurand (cudaPackages.libcurand.dev ,cudaPackages.libcurand.lib ,cudaPackages.libcurand.static ,cudaPackagesGoogle.libcurand ,cudaPackagesGoogle.libcurand.dev ,cudaPackagesGoogle.libcurand.lib ,cudaPackagesGoogle.libcurand.static ,cudaPackages_11.libcurand ,cudaPackages_11.libcurand.dev ,cudaPackages_11.libcurand.lib ,cudaPackages_11.libcurand.static)
  • cudaPackages.libcusolver (cudaPackages.libcusolver.dev ,cudaPackages.libcusolver.lib ,cudaPackages.libcusolver.static ,cudaPackagesGoogle.libcusolver ,cudaPackagesGoogle.libcusolver.dev ,cudaPackagesGoogle.libcusolver.lib ,cudaPackagesGoogle.libcusolver.static ,cudaPackages_11.libcusolver ,cudaPackages_11.libcusolver.dev ,cudaPackages_11.libcusolver.lib ,cudaPackages_11.libcusolver.static)
  • cudaPackages.libcusparse (cudaPackages.libcusparse.dev ,cudaPackages.libcusparse.lib ,cudaPackages.libcusparse.static ,cudaPackagesGoogle.libcusparse ,cudaPackagesGoogle.libcusparse.dev ,cudaPackagesGoogle.libcusparse.lib ,cudaPackagesGoogle.libcusparse.static ,cudaPackages_11.libcusparse ,cudaPackages_11.libcusparse.dev ,cudaPackages_11.libcusparse.lib ,cudaPackages_11.libcusparse.static)
  • cudaPackages.libnpp (cudaPackages.libnpp.dev ,cudaPackages.libnpp.lib ,cudaPackages.libnpp.static ,cudaPackagesGoogle.libnpp ,cudaPackagesGoogle.libnpp.dev ,cudaPackagesGoogle.libnpp.lib ,cudaPackagesGoogle.libnpp.static ,cudaPackages_11.libnpp ,cudaPackages_11.libnpp.dev ,cudaPackages_11.libnpp.lib ,cudaPackages_11.libnpp.static)
  • cudaPackages.libnvidia_nscq (cudaPackages.libnvidia_nscq.lib ,cudaPackagesGoogle.libnvidia_nscq ,cudaPackagesGoogle.libnvidia_nscq.lib ,cudaPackages_11.libnvidia_nscq ,cudaPackages_11.libnvidia_nscq.lib)
  • cudaPackages.libnvjpeg (cudaPackages.libnvjpeg.dev ,cudaPackages.libnvjpeg.lib ,cudaPackages.libnvjpeg.static ,cudaPackagesGoogle.libnvjpeg ,cudaPackagesGoogle.libnvjpeg.dev ,cudaPackagesGoogle.libnvjpeg.lib ,cudaPackagesGoogle.libnvjpeg.static ,cudaPackages_11.libnvjpeg ,cudaPackages_11.libnvjpeg.dev ,cudaPackages_11.libnvjpeg.lib ,cudaPackages_11.libnvjpeg.static)
  • cudaPackages.nccl (cudaPackagesGoogle.nccl ,cudaPackages_11.nccl)
  • cudaPackages.nccl.dev (cudaPackagesGoogle.nccl.dev ,cudaPackages_11.nccl.dev)
  • cudaPackages.nsight_compute (cudaPackages.nsight_compute.bin ,cudaPackagesGoogle.nsight_compute ,cudaPackagesGoogle.nsight_compute.bin ,cudaPackages_11.nsight_compute ,cudaPackages_11.nsight_compute.bin)
  • cudaPackages.nvidia_fs (cudaPackagesGoogle.nvidia_fs ,cudaPackages_11.nvidia_fs)
  • cudaPackages.saxpy (cudaPackagesGoogle.saxpy ,cudaPackages_11.saxpy)
  • cudaPackages.setupCudaHook (cudaPackagesGoogle.setupCudaHook ,cudaPackages_11.setupCudaHook)
  • cudaPackages_10.backendStdenv
  • cudaPackages_10.cudatoolkit
  • cudaPackages_10.cudatoolkit.doc
  • cudaPackages_10.cudatoolkit.lib
  • cudaPackages_10.cudnn_8_1 (cudaPackages_10.cudnn_8_1.dev ,cudaPackages_10.cudnn_8_1.lib ,cudaPackages_10.cudnn_8_1.static)
  • cudaPackages_10.cudnn_8_2 (cudaPackages_10.cudnn_8_2.dev ,cudaPackages_10.cudnn_8_2.lib ,cudaPackages_10.cudnn_8_2.static)
  • cudaPackages_10.cudnn_8_3 (cudaPackages_10.cudnn_8_3.dev ,cudaPackages_10.cudnn_8_3.lib ,cudaPackages_10.cudnn_8_3.static)
  • cudaPackages_10.cudnn_8_4 (cudaPackages_10.cudnn_8_4.dev ,cudaPackages_10.cudnn_8_4.lib ,cudaPackages_10.cudnn_8_4.static)
  • cudaPackages_10.cudnn_8_5 (cudaPackages_10.cudnn_8_5.dev ,cudaPackages_10.cudnn_8_5.lib ,cudaPackages_10.cudnn_8_5.static)
  • cudaPackages_10.cudnn_8_6 (cudaPackages_10.cudnn_8_6.dev ,cudaPackages_10.cudnn_8_6.lib ,cudaPackages_10.cudnn_8_6.static)
  • cudaPackages_10.cudnn_8_7 (cudaPackages_10.cudnn_8_7.dev ,cudaPackages_10.cudnn_8_7.lib ,cudaPackages_10.cudnn_8_7.static)
  • cudaPackages_10.cutensor (cudaPackages_10.cutensor.dev ,cudaPackages_10.cutensor.lib ,cudaPackages_10.cutensor.static ,cudaPackages_10.cutensor_1_7 ,cudaPackages_10.cutensor_1_7.dev ,cudaPackages_10.cutensor_1_7.lib ,cudaPackages_10.cutensor_1_7.static)
  • cudaPackages_10.cutensor_1_3 (cudaPackages_10.cutensor_1_3.dev ,cudaPackages_10.cutensor_1_3.lib ,cudaPackages_10.cutensor_1_3.static)
  • cudaPackages_10.cutensor_1_4 (cudaPackages_10.cutensor_1_4.dev ,cudaPackages_10.cutensor_1_4.lib ,cudaPackages_10.cutensor_1_4.static)
  • cudaPackages_10.cutensor_1_5 (cudaPackages_10.cutensor_1_5.dev ,cudaPackages_10.cutensor_1_5.lib ,cudaPackages_10.cutensor_1_5.static)
  • cudaPackages_10.cutensor_1_6 (cudaPackages_10.cutensor_1_6.dev ,cudaPackages_10.cutensor_1_6.lib ,cudaPackages_10.cutensor_1_6.static)
  • cudaPackages_10.saxpy
  • cudaPackages_10.setupCudaHook
  • cudaPackages_12.backendStdenv
  • cudaPackages_12.cuda_cccl (cudaPackages_12.cuda_cccl.dev)
  • cudaPackages_12.cuda_cudart (cudaPackages_12.cuda_cudart.dev ,cudaPackages_12.cuda_cudart.lib ,cudaPackages_12.cuda_cudart.static)
  • cudaPackages_12.cuda_cuobjdump (cudaPackages_12.cuda_cuobjdump.bin)
  • cudaPackages_12.cuda_cupti (cudaPackages_12.cuda_cupti.dev ,cudaPackages_12.cuda_cupti.lib ,cudaPackages_12.cuda_cupti.sample ,cudaPackages_12.cuda_cupti.static)
  • cudaPackages_12.cuda_cuxxfilt (cudaPackages_12.cuda_cuxxfilt.bin ,cudaPackages_12.cuda_cuxxfilt.dev ,cudaPackages_12.cuda_cuxxfilt.static)
  • cudaPackages_12.cuda_demo_suite
  • cudaPackages_12.cuda_documentation
  • cudaPackages_12.cuda_gdb (cudaPackages_12.cuda_gdb.bin)
  • cudaPackages_12.cuda_nsight (cudaPackages_12.cuda_nsight.bin)
  • cudaPackages_12.cuda_nvcc (cudaPackages_12.cuda_nvcc.bin ,cudaPackages_12.cuda_nvcc.dev ,cudaPackages_12.cuda_nvcc.lib ,cudaPackages_12.cuda_nvcc.static)
  • cudaPackages_12.cuda_nvdisasm (cudaPackages_12.cuda_nvdisasm.bin)
  • cudaPackages_12.cuda_nvml_dev (cudaPackages_12.cuda_nvml_dev.dev ,cudaPackages_12.cuda_nvml_dev.lib)
  • cudaPackages_12.cuda_nvprune (cudaPackages_12.cuda_nvprune.bin)
  • cudaPackages_12.cuda_nvrtc (cudaPackages_12.cuda_nvrtc.dev ,cudaPackages_12.cuda_nvrtc.lib ,cudaPackages_12.cuda_nvrtc.static)
  • cudaPackages_12.cuda_nvtx (cudaPackages_12.cuda_nvtx.dev ,cudaPackages_12.cuda_nvtx.lib)
  • cudaPackages_12.cuda_nvvp (cudaPackages_12.cuda_nvvp.bin)
  • cudaPackages_12.cuda_opencl (cudaPackages_12.cuda_opencl.dev ,cudaPackages_12.cuda_opencl.lib)
  • cudaPackages_12.cuda_profiler_api (cudaPackages_12.cuda_profiler_api.dev)
  • cudaPackages_12.cuda_sanitizer_api (cudaPackages_12.cuda_sanitizer_api.bin)
  • cudaPackages_12.cudatoolkit
  • cudaPackages_12.cudatoolkit.doc
  • cudaPackages_12.cudatoolkit.lib
  • cudaPackages_12.cudnn (cudaPackages_12.cudnn.dev ,cudaPackages_12.cudnn.lib ,cudaPackages_12.cudnn.static)
  • cudaPackages_12.fabricmanager (cudaPackages_12.fabricmanager.bin ,cudaPackages_12.fabricmanager.dev ,cudaPackages_12.fabricmanager.lib)
  • cudaPackages_12.libcublas (cudaPackages_12.libcublas.dev ,cudaPackages_12.libcublas.lib ,cudaPackages_12.libcublas.static)
  • cudaPackages_12.libcufft (cudaPackages_12.libcufft.dev ,cudaPackages_12.libcufft.lib ,cudaPackages_12.libcufft.static)
  • cudaPackages_12.libcurand (cudaPackages_12.libcurand.dev ,cudaPackages_12.libcurand.lib ,cudaPackages_12.libcurand.static)
  • cudaPackages_12.libcusolver (cudaPackages_12.libcusolver.dev ,cudaPackages_12.libcusolver.lib ,cudaPackages_12.libcusolver.static)
  • cudaPackages_12.libcusparse (cudaPackages_12.libcusparse.dev ,cudaPackages_12.libcusparse.lib ,cudaPackages_12.libcusparse.static)
  • cudaPackages_12.libnpp (cudaPackages_12.libnpp.dev ,cudaPackages_12.libnpp.lib ,cudaPackages_12.libnpp.static)
  • cudaPackages_12.libnvidia_nscq (cudaPackages_12.libnvidia_nscq.bin ,cudaPackages_12.libnvidia_nscq.dev ,cudaPackages_12.libnvidia_nscq.lib)
  • cudaPackages_12.libnvjitlink (cudaPackages_12.libnvjitlink.dev ,cudaPackages_12.libnvjitlink.lib ,cudaPackages_12.libnvjitlink.static)
  • cudaPackages_12.libnvjpeg (cudaPackages_12.libnvjpeg.dev ,cudaPackages_12.libnvjpeg.lib ,cudaPackages_12.libnvjpeg.static)
  • cudaPackages_12.libnvvm_samples
  • cudaPackages_12.nvidia_fs
  • cudaPackages_12.saxpy
  • cudaPackages_12.setupCudaHook
  • faissWithCuda
  • faissWithCuda.demos
  • gpt2tc
  • gpu-burn
  • gromacsCudaMpi
  • gromacsCudaMpi.dev
  • gromacsCudaMpi.man
  • librealsenseWithCuda
  • librealsenseWithCuda.dev
  • libtensorflow (libtensorflow.python)
  • nvtop
  • nvtop-nvidia
  • python311Packages.baselines
  • python311Packages.baselines.dist
  • python311Packages.edward
  • python311Packages.edward.dist
  • python311Packages.encodec
  • python311Packages.encodec.dist
  • python311Packages.jaxlibWithCuda
  • python311Packages.jaxlibWithCuda.dist
  • python311Packages.numbaWithCuda
  • python311Packages.numbaWithCuda.dist
  • python311Packages.openai-triton-bin
  • python311Packages.openai-triton-bin.dist
  • python311Packages.openai-triton-cuda
  • python311Packages.openai-triton-cuda.dist
  • python311Packages.pot
  • python311Packages.pot.dist
  • python311Packages.pycuda
  • python311Packages.pycuda.dist
  • python311Packages.pynvml
  • python311Packages.pynvml.dist
  • python311Packages.pyrealsense2WithCuda
  • python311Packages.pyrealsense2WithCuda.dev
  • python311Packages.pytensor
  • python311Packages.pytensor.dist
  • python311Packages.tensorflow (python311Packages.tensorflow-build ,python311Packages.tensorflowWithoutCuda)
  • python311Packages.tensorflow.dist (python311Packages.tensorflow-build.dist ,python311Packages.tensorflowWithoutCuda.dist)
  • python311Packages.tensorflow-probability
  • python311Packages.tensorflow-probability.dist
  • python311Packages.tflearn
  • python311Packages.tflearn.dist
  • python311Packages.torchaudio-bin
  • python311Packages.torchaudio-bin.dist
  • python311Packages.torchvision-bin
  • python311Packages.torchvision-bin.dist
  • python312Packages.jaxlibWithCuda
  • python312Packages.jaxlibWithCuda.dist
  • python312Packages.openai-triton-cuda
  • python312Packages.openai-triton-cuda.dist
  • python312Packages.pycuda
  • python312Packages.pycuda.dist
  • python312Packages.pyrealsense2WithCuda
  • python312Packages.pyrealsense2WithCuda.dev
  • tests.pkg-config.defaultPkgConfigPackages.tensorflow
  • xgboostWithCuda

@SomeoneSerge
Copy link
Contributor Author

RE: torchWithCuda failure (dependency failed)

Broken on master #280621:

❯ nix build -I nixpkgs=flake:github:NixOS/nixpkgs/master -f '<nixpkgs>' --arg config '{ cudaCapabilities = [ "8.6" ]; cudaEnableForwardCompat = false; cudaSupport = true; allowUnfree = true; }' -L python3Packages.openai-triton
...
python3.11-triton> /nix/store/xdqs45iclhp9dz8zz9pvn5zivjbhid1a-binutils-2.40/bin/ld: /nix/store/bykdr5c49248qx2y7xlskfy1l7a3yq85-gtest-1.12.1/lib/libgtest_main.so.1.12.1: undefined reference to `std::ios_base_libr
ary_init()@GLIBCXX_3.4.32'                                                                                                                                                                                           
python3.11-triton> collect2: error: ld returned 1 exit status

All the basic stuff still works in this branch, as expected:

❯ nix run -f . --arg config '{ cudaCapabilities = [ "8.6" ]; cudaEnableForwardCompat = false; cudaSupport = true; allowUnfree = true; }' -L cudaPackages.saxpy
Start
Runtime version: 11080
Driver version: 12030
Host memory initialized, copying to the device
Scheduled a cudaMemcpy, calling the kernel
Scheduled a kernel call
Max error: 0.000000

I verified that the CPU version of tensorflow works as expected (builds as before using gcc12, links against gcc13's libraries, is importable in python and doesn't conflict e.g. with import scipy.optimize regardless of the import order)

I still haven't received any reviews on the cc-wrapper specific parts, but seeing how this PR only "really" affects CUDA and tensorflow and how tensorflow blocks a lot of stuff on master, I'm going to merge.

If anyone finds some of the comments left after cherry-picking or the final form of stdenvAdapters.useLibsFrom somehow lacking or incorrect, ping me and we'll fix this in follow up PRs.

@SomeoneSerge SomeoneSerge merged commit bc5ed95 into NixOS:master Jan 13, 2024
23 checks passed
@ghost
Copy link

ghost commented Jan 18, 2024

@SomeoneSerge you self-merged this PR without any approvals.

I don't think you should have done so for the changes to cc-wrapper, especially with junk like TODO: TODO: and The above "fix" may be incorrect in your PR.

cc-wrapper is a high-traffic area, and it's a lot of work to keep it from becoming more of a mess than it already is. This PR has made that task even harder.

@SomeoneSerge
Copy link
Contributor Author

I don't think you should have done so for the changes to cc-wrapper, especially with junk like TODO: ... cc-wrapper is a high-traffic area, and it's a lot of work to keep it from becoming more of a mess than it already is.

Noted. I had explained my cost/benefit assessment above. I'm happy to put some time into cleaning up at least the mess I have introduced before it reaches any release.

And thanks for the feedback!

ghost pushed a commit that referenced this pull request Jan 20, 2024
This commit deletes speculative comments which were self-merged with
no approvals in PR #275947.

If you think that "The above 'fix' may be incorrect" the correct
response is to submit a PR which removes the 'fix' and get it reviewed.

Likewise, if you think that "For clang it's not necessary" you
should submit a PR which wraps it in `if !isClang`.

`cc-wrapper` is full of too much junk as it is, let's not make
things worse.
ghost pushed a commit that referenced this pull request Jan 20, 2024
PR #275947, which was self-merged without approvals, inserted
functionality specific to a propriteary closed-source compiler
(CUDA) into cc-wrapper.

This commit relocates this CUDA-specific functionality into the
appropritate place: `cuda-modules`.

It is unclear to me exactly what this function is supposed to be
doing; much of it (like the `.kind` attributes) do not appear to be
used *anywhere* in nixpkgs.  Making sure we don't insert unexplained
deadcode like this is one of the important functions of the review
process.
mkg20001 pushed a commit to mkg20001/nixpkgs that referenced this pull request Jan 21, 2024
This commit deletes speculative comments which were self-merged with
no approvals in PR NixOS#275947.

If you think that "The above 'fix' may be incorrect" the correct
response is to submit a PR which removes the 'fix' and get it reviewed.

Likewise, if you think that "For clang it's not necessary" you
should submit a PR which wraps it in `if !isClang`.

`cc-wrapper` is full of too much junk as it is, let's not make
things worse.
mkg20001 pushed a commit to mkg20001/nixpkgs that referenced this pull request Jan 21, 2024
PR NixOS#275947, which was self-merged without approvals, inserted
functionality specific to a propriteary closed-source compiler
(CUDA) into cc-wrapper.

This commit relocates this CUDA-specific functionality into the
appropritate place: `cuda-modules`.

It is unclear to me exactly what this function is supposed to be
doing; much of it (like the `.kind` attributes) do not appear to be
used *anywhere* in nixpkgs.  Making sure we don't insert unexplained
deadcode like this is one of the important functions of the review
process.
@ghost ghost mentioned this pull request Jan 21, 2024
peterhoeg pushed a commit to peterhoeg/nixpkgs that referenced this pull request Jan 22, 2024
This commit deletes speculative comments which were self-merged with
no approvals in PR NixOS#275947.

If you think that "The above 'fix' may be incorrect" the correct
response is to submit a PR which removes the 'fix' and get it reviewed.

Likewise, if you think that "For clang it's not necessary" you
should submit a PR which wraps it in `if !isClang`.

`cc-wrapper` is full of too much junk as it is, let's not make
things worse.
peterhoeg pushed a commit to peterhoeg/nixpkgs that referenced this pull request Jan 22, 2024
PR NixOS#275947, which was self-merged without approvals, inserted
functionality specific to a propriteary closed-source compiler
(CUDA) into cc-wrapper.

This commit relocates this CUDA-specific functionality into the
appropritate place: `cuda-modules`.

It is unclear to me exactly what this function is supposed to be
doing; much of it (like the `.kind` attributes) do not appear to be
used *anywhere* in nixpkgs.  Making sure we don't insert unexplained
deadcode like this is one of the important functions of the review
process.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

5 participants