Commit Graph

176 Commits

Author SHA1 Message Date
Connor Baker
f4cc6924be cudaPackages.nccl: 2.30.7-1 -> 2.31.2-1 (#551615) 2026-08-18 16:00:29 +00:00
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
Gaetan Lepage
43b6335d96 cudaPackages.cudnn-frontend: 1.25.0 -> 1.27.0
Diff: https://github.com/NVIDIA/cudnn-frontend/compare/v1.25.0...v1.27.0

Changelog: https://github.com/NVIDIA/cudnn-frontend/releases/tag/v1.27.0
2026-08-14 21:59:51 +00:00
Connor Baker
5c406c24ab cudaPackages.tensorrt: Init 11.0.0 (#529978) 2026-08-11 15:51:54 +00:00
Nick Cao
b301a4bc57 cudaPackages.cutlass: 4.6.1 -> 4.6.2 (#550605) 2026-08-10 20:56:21 +00:00
R. Ryantm
98d169f6d3 cudaPackages.nccl-tests: 2.19.6 -> 2.19.7 2026-08-09 22:03:09 +00:00
Connor Baker
187b0df2c1 cudaPackages.tensorrt: 10.14.1 -> 10.16.1 (#549221) 2026-08-09 17:07:13 +00:00
Jacob Freeman
9045d5396e cudaPackages.tensorrt: 10.14.1 -> 10.16.1 2026-08-09 13:49:16 +00:00
Pratham Patel
51ddddecd1 cudaPackages.nccl-ep: init at 2.30.7-1 2026-08-09 11:26:09 +05:30
R. Ryantm
dc64a4d270 cudaPackages.cutlass: 4.6.1 -> 4.6.2 2026-08-08 20:49:55 +00:00
Gaétan Lepage
1b5de7d4ce cudaPackages: add some missing dynamic dependencies (dlopen) (#549346) 2026-08-07 19:05:55 +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
Connor Baker
d7b4eb14e9 cudaPackages: stop leaking build-time paths into runtime closures
Build systems bake absolute paths into installed artifacts: nvcc
records its own location in the linker command lines it embeds, and
CMake freezes whatever it resolved at configure time into exported
targets. Nix counts any store hash as a reference, so a compiler that
is only ever a nativeBuildInput ends up a runtime dependency.

- gdrcopy: gdrcopy_pplat is the only test built with relocatable
  device code, and nvlink embeds its command line, naming both
  cuda_nvcc and the cudart that supplied cudadevrt. Neither is needed
  at runtime: no binary here has libcudart in DT_NEEDED, and
  libcuda.so.1 comes from the driver. CUDA 13 only; on 13.3 the
  closure drops from 688,439,736 to 61,081,560 bytes, and all seven
  releases now have identical reference sets.

- cudnn-frontend: upstream passes CUDAToolkit_INCLUDE_DIRS to
  target_include_directories as a bare absolute path and never
  forwards the dependency, so consumers inherit a build-machine path
  instead of resolving the toolkit themselves. Confine the path to the
  build and export the dependency, so find_package(CUDAToolkit) runs
  in the consumer's environment. Closure drops from 1,360,621,552 to
  171,758,136 bytes. This is load-bearing rather than cosmetic: on
  CUDA 12 crt/ ships in cuda_nvcc and cuda_runtime_api.h includes it,
  so a consumer using only find_package(cudnn_frontend) previously
  relied on that exported path to compile at all.

- libnvshmem: NVSHMEMEnv.cmake bakes every -D*_HOME into
  NVSHMEM_BUILD_VARS, a diagnostic banner that nvshmem-info and
  init.cu only ever print, and substitutes it into an installed header
  so consumers inherit it too. Strip the dev outputs and nvcc; gdrcopy
  and mpi appear in the same string but are genuine runtime
  dependencies. References drop from 16 to 12.

gdrcopy also gains a disallowedRequisites guard so the leak cannot
return unnoticed. libnvshmem deliberately does not: ucx and openmpi
pull nvcc into its closure independently of the banner, so the guard
would fail for reasons unrelated to this change.

Assisted-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 14:55:40 -07:00
Ben Siraphob
f82dc8ebe9 pkgs/development: fix typos
Assisted-by: Claude Code (claude-opus-5)
2026-08-02 15:56:57 -07:00
R. Ryantm
f1d7502238 cudaPackages.cutlass: 4.5.2 -> 4.6.1 2026-08-01 23:01:56 +00:00
Gaétan Lepage
8ed961f187 cudaPackages.nccl-tests: 2.19.1 -> 2.19.6 (#541455) 2026-07-31 22:59:37 +00:00
Samiser
7990e968cb cudaPackages.setupCudaHook: include nvcc in CUDAToolkit_ROOT 2026-07-25 08:28:43 +00:00
Yohann Boniface
a96a7b9dc6 treewide: use finalAttrs.finalPackage.doCheck (#543265) 2026-07-23 11:35:08 +00:00
Gaetan Lepage
6bb92e1743 cudaPackages.nvbandwidth: 0.9 -> 0.10.0
Diff: https://github.com/NVIDIA/nvbandwidth/compare/v0.9...v0.10.0

Changelog: https://github.com/NVIDIA/nvbandwidth/blob/v0.10.0/CHANGELOG.md
2026-07-21 19:16:35 +00:00
Peder Bergebakken Sundt
a0d022d0f4 treewide: use finalAttrs.finalPackage.doCheck 2026-07-18 18:23:21 +02:00
R. Ryantm
02cdacd826 cudaPackages.nccl-tests: 2.19.1 -> 2.19.6 2026-07-13 13:36:42 +00:00
R. Ryantm
ba8e45b395 cudaPackages.nccl-tests: 2.18.5 -> 2.19.1 2026-06-26 05:38:59 +00:00
Gaétan Lepage
688b86390a cudaPackages.nccl-tests: 2.18.3 -> 2.18.5 (#532666) 2026-06-22 09:46:09 +00:00
Gaetan Lepage
3fecd68e9d cudaPackages_13_3.cccl: init at 13.3.3.3.1 2026-06-21 16:56:43 +00:00
R. Ryantm
8b249f2032 cudaPackages.nccl-tests: 2.18.3 -> 2.18.5 2026-06-17 13:13:10 +00:00
R. Ryantm
b26384ff1f cudaPackages.cudnn-frontend: 1.24.0 -> 1.25.0 2026-06-17 04:38:21 +00:00
R. Ryantm
44bd912379 cudaPackages.cutlass: 4.5.1 -> 4.5.2 2026-06-16 04:40:20 +00:00
Jean-François Roche
f666e54eb0 cudaPackages.libnvshmem: default withNccl to nccl.meta.available
`withNccl` defaults to `true`, unconditionally adding `nccl` to `buildInputs`. 

This is problematic on platforms where NCCL is unavailable, such as pre-Thor Jetson (Orin), where `nccl.meta.available` is `false` due to its `badPlatforms` assertion. In such cases, libnvshmem would still pull the unavailable `nccl` into its closure, leading to an eval-time error.

We are changing the default to `nccl.meta.available` to make libnvshmem skip NCCL automatically on platforms where NCCL is unsupported. We preserving the existing behaviour everywhere else (x86_64-linux, Thor Jetson) where `nccl.meta.available` is `true`.

Note that this guard has already been added to other CUDA modules such as `cudaPackages.cudss` in #437723.
2026-06-15 19:25:15 +02:00
Gaetan Lepage
3e1852144b cudaPackages.gdrcopy: 2.5.2 -> 2.6
Diff: https://github.com/NVIDIA/gdrcopy/compare/v2.5.2...v2.6
2026-06-13 12:30:46 +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
Elliot Berman
4e72179a5a cudaPackages.tensorrt-samples: Support TensorRT 11.0.0 2026-06-09 11:40:44 -07:00
Elliot Berman
28fe7e37e2 cudaPackages.tensorrt: Add 11.0.0 TensorRT release manifest 2026-06-09 11:40:44 -07:00
Elliot Berman
5bb67e892a cudaPackages.tensorrt-samples: Add support for 10.16.1 2026-06-05 13:33:21 -07:00
Gaetan Lepage
9384fdf955 cudaPackages.cutlass: fix license 2026-06-03 15:00:39 +00:00
Gaetan Lepage
c2b2a2e682 cudaPackages.cutlass: 3.9.2 -> 4.5.1
Diff: https://github.com/NVIDIA/cutlass/compare/v3.9.2...v4.5.1
2026-06-03 14:31:40 +00:00
Sizhe Zhao
916a743067 cudaPackages.cudnn-frontend: 1.16.0 -> 1.24.0 2026-06-01 15:18:04 +00:00
Gaetan Lepage
4b31bed983 cudaPackages.cuda_cccl: fix cpp syntax error on CUDA 13.2
https://github.com/NVIDIA/cccl/pull/8771

Fixes onnxruntime: https://github.com/microsoft/onnxruntime/issues/28023
2026-05-28 21:56:19 +00:00
Sigmanificient
0bbc8dffae treewide: set meta.license on hooks 2026-05-25 13:48:20 +02:00
Else, Someone
b0015daf6f cudaPackages.tensorrt: mark insecure 2026-05-22 23:44:39 +03:00
Gaetan Lepage
a2baf7bb69 cudaPackages.libcusolvermp: fix build 2026-05-13 14:30:32 +00:00
Gaetan Lepage
ad39f6cb9f cudaPackages.nvbandwidth: init at 0.9 2026-04-30 15:58:13 +00:00
Gaetan Lepage
01d468622e cudaPackages.cuda_crt: do not patch math headers on >=13.2 2026-04-27 08:57:36 +00:00
Gaetan Lepage
0db3511132 cudaPackages.cuda_crt: patch math_functions.h signatures 2026-04-23 23:05:33 +00:00
Gaetan Lepage
4bab2aa6af cudaPackages.libcuobjclient: init at 1.0.0.26 2026-04-21 15:25:07 +00:00
R. Ryantm
a9128c6c5b cudaPackages.nccl-tests: 2.18.2 -> 2.18.3 2026-04-17 10:37:57 +00:00
Samuel Ainsworth
8e55aea6ee cuda_nvcc: fix host_defines.h __noinline__ conflict under clang
host_defines.h redefines __noinline__ as __attribute__((noinline)).
When clang compiles CUDA code against libstdc++ >=12, which uses
__attribute__((__noinline__)), the macro causes the invalid expansion
__attribute__((__attribute__((noinline)))). Clang natively understands
__noinline__ as an attribute, so the macro is unnecessary — skip it
when clang is the compiler.
2026-04-12 22:06:57 +00:00
Gaetan Lepage
be983daa60 cudaPackages.libnvshmem: make the build customizable 2026-04-01 07:37:35 +00:00
Gaétan Lepage
0ccff482d4 cudaPackages.nccl-tests: 2.17.10 -> 2.18.2 (#499938) 2026-03-29 16:47:13 +00:00
Gaétan Lepage
238897676d cudaPackages.libnvshmem: 3.4.5-0 -> 3.6.5-0 (#503855) 2026-03-28 21:10:36 +00:00
Tim Dortmann
75b7fb4416 cudaPackages.nsight_compute: include necessary files 2026-03-27 14:20:34 +01:00