Commit Graph

16 Commits

Author SHA1 Message Date
Gaetan Lepage
6c796dc071 cudaPackages.nccl: 2.30.7-1 -> 2.31.2-1
Diff: https://github.com/NVIDIA/nccl/compare/v2.30.7-1...v2.31.2-1

Changelog: https://github.com/NVIDIA/nccl/releases/tag/v2.31.2-1
2026-08-17 16:45:44 +00:00
Connor Baker
67e5bee8a6 cudaPackages: account for dlopen'd runtime dependencies
autoPatchelfHook only resolves DT_NEEDED entries, so a library reached
only through dlopen never lands in any RUNPATH -- listing its provider
in buildInputs contributes nothing. Several components dlopen by bare
soname and so silently lose those libraries at runtime.

Add the missing paths with appendRunpaths for the redists, and an
explicit postFixup for the two source builds, which do not go through
buildRedist:

- cudnn, libcublas, libcufft, libcusparse, libcusparse_lt: NVRTC and
  nvJitLink, dlopen'd to compile kernels at runtime. libcublas gained
  the dlopen in 12.8 and libcusparse_lt in 0.8, so both are
  version-gated. libcusparse's libnvJitLink moved from DT_NEEDED to
  dlopen at 12.7.3.1; the entry is left unconditional because it is a
  no-op before that.
- libcufile: libudev, libmount, liburcu and libnuma.
- nccl, libnvshmem: libibverbs, libmlx5 and libgdrapi. NCCL builds
  with RDMA_CORE=0 and MLX5DV=0, so none of these are DT_NEEDED;
  without this NCCL logs at INFO and silently falls back to the socket
  transport. Both also gain autoAddDriverRunpath, which nothing was
  supplying -- libnccl dlopens libnvidia-ml.so.1, and the statically
  linked CUDA runtime dlopens libcuda.so.1.

Also:

- cuda_cupti: ship the static archives as their own output on
  linux-sbsa, where they were previously left in the propagated lib
  output. Gate on hostRedistSystem, since linux-aarch64 ships no
  archives at all and declaring an empty output fails the build.
- libcuobjclient: declare rdma-core, which had been resolved only by
  accident through libcufile's runpath.
- libcusolver: note the vendored METIS in meta.license.

Verified across cudaPackages_12_6 through _13_3 on linux-x86_64 and
linux-sbsa, and on linux-aarch64 for the CUDA 12 releases where that
redist system exists. nccl is unavailable on linux-aarch64, since
pre-Thor Jetsons are unsupported upstream, so libnvshmem builds there
with withNccl disabled.

Known and deliberately left alone: appendRunpaths is applied to every
ELF in every output, so it also writes into stubs outputs, where the
entries are inert. Nothing in-tree consumes the affected stubs
outputs.

Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 07:38:38 +00:00
Gaetan Lepage
3fecd68e9d cudaPackages_13_3.cccl: init at 13.3.3.3.1 2026-06-21 16:56:43 +00:00
Gaetan Lepage
048adb9b01 cudaPackages.nccl: 2.28.7-1 -> 2.30.7-1
Diff: https://github.com/NVIDIA/nccl/compare/v2.28.7-1...v2.30.7-1

Changelog: https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1
2026-06-11 07:22:15 +00:00
Marcin Serwin
eeb6dc0081 maintainers: drop orivej
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-11-21 17:56:40 +01:00
Gaetan Lepage
4a807ebfd7 cudaPackages.nccl: remove reference to nvcc in binary 2025-11-04 23:13:02 +00:00
Connor Baker
69cdfaf6a6 cudaPackages.nccl: 2.27.6-1 -> 2.28.7-1; support earlier CUDA releases
Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
2025-10-28 14:42:48 -07:00
Connor Baker
909949ced6 cudaPackages.nccl: allow building on Thor and later
Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
2025-10-22 13:14:50 -07:00
Connor Baker
b854a35c62 _cuda.lib.{_mkMetaBadPlatforms,_mkMetaBroken}: use builtins.traceVerbose
Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
2025-10-22 13:14:49 -07:00
Connor Baker
29ce053617 cudaPackages: build redists from manifests
Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
2025-10-22 13:14:45 -07:00
Emily
c32c0a555e cudaPackages_11: drop 2025-08-22 15:59:05 +01:00
Connor Baker
584554351e cudaPackages: remove 11.0-11.7
Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
2025-08-04 00:55:44 +00:00
Ari Lotter
fca9a6cbbe cudaPackages.nccl: 2.26.2 -> 2.27.6
nccl 2.27.6 changed its CXXSTD from cpp11 to 14, so the workaround is no
longer required.

2.27 adds a new "symmetric" set of APIs which require their generated
script to have its shebang patched.
2025-07-25 11:10:35 -04:00
Wolfgang Walther
5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Connor Baker
4938f79c95 tree-wide: cudaPackages.cudaFlags -> cudaPackages.flags
Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
2025-05-12 19:36:34 +00:00
Connor Baker
56be58429a cudaPackages: introduce and use lib.packagesFromDirectoryRecursive
Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
2025-05-06 09:43:39 -07:00