601 Commits

Author SHA1 Message Date
Connor Baker
0657ebd01d cudaPackages.nvimgcodec, cudaPackages.dali, python3Packages.nvidia-dali: init at 0.9.0, 2.4.0, 2.4.0 (#577197) 2026-10-28 03:33:35 +00:00
Connor Baker
fac8cf7271 cudaPackages.dali: init at 2.4.0
Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-27 19:47:44 -07:00
Connor Baker
f16144dd77 cudaPackages.cudnn-frontend: 1.31.0 -> 1.32.0; python3Packages.transformer-engine: backport fixes for crashes at process exit (#577950) 2026-10-28 00:49:59 +00:00
Connor Baker
a3ff8d1064 cudaPackages.nvimgcodec: init at 0.9.0
Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-27 16:51:23 -07:00
Connor Baker
b5dcf4aa2e cudaPackages.cudnn-frontend: 1.31.0 -> 1.32.0
Changelog: https://github.com/NVIDIA/cudnn-frontend/releases/tag/v1.32.0

1.32.0 contains the fix for a crash at process exit
(473a2c8f76,
from NVIDIA/cudnn-frontend#1565). 1.31.0 releases plans recorded into
CUDA graphs through get_cuda_symbol(), whose library handle map is a
function-local static. A static cache destroyed after that map at exit,
such as TransformerEngine's fused-attention graph cache, then reads freed
memory, and its processes can crash with SIGSEGV
(NVIDIA/cudnn-frontend#1486).

python3Packages.nvidia-cudnn-frontend builds from the same source. Its
Python bindings now use nanobind instead of pybind11 and require
nanobind>=3.0.1,<4, so it builds with nanobind_3, and the ninja pin it
relaxes now carries a platform marker. The bindings include standard
headers before Python.h, so pyconfig.h redefines the _POSIX_C_SOURCE and
_XOPEN_SOURCE that glibc 2.44 defines with other values, which upstream's
-Werror makes an error; the Python build drops -Werror.

It also takes cudnn-frontend's update script, run on
cudaPackages.cudnn-frontend: the nix-update script it inherited from
buildPythonPackage can't update a version and source it inherits.

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-27 15:05:45 -07:00
Gaétan Lepage
f27ebd61bb cudaPackages.libcublas: use standalone cuBLAS releases (#574103) 2026-10-27 14:57:56 +00:00
Ethan Carter Edwards
78884c6d37 cudaPackages.cuvs: init at 26.08.01
Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
2026-10-27 00:41:17 -04:00
Connor Baker
01837a1b53 cudaPackages.libcublas: use standalone cuBLAS releases
NVIDIA publishes standalone cuBLAS releases between CUDA releases. Each
is a patch release for one CUDA toolkit update, with the same major and
minor version as the cuBLAS that update shipped, and exports the same
symbols. Later CUDA updates don't include them: CUDA 13.4 Update 3,
released after cuBLAS 13.8.1, still ships 13.8.0.4.

A package set pins a standalone release only when it is a newer patch
release of its CUDA release's cuBLAS, and evaluation fails otherwise, so
a CUDA update that ships a newer cuBLAS must drop or update the pin.
That pins 12.8.5.7, 13.4.2.4, 13.6.2.16, and 13.8.2.12 for CUDA 12.8,
13.2, 13.3, and 13.4. CUDA 12.6 has no standalone release, and CUDA's
cuBLAS is as new or newer for CUDA 12.9, 13.0, and 13.1. libcublas uses
the pin where it has a build for the host; standalone releases have no
linux-aarch64 builds, so pre-Thor Jetson with CUDA 12.8 uses CUDA's. The
source is visible as libcublas.passthru.redistName.

Standalone archives lack the stubs and pkg-config file, so generate
them: like NVIDIA's, the stubs define the libraries' versioned
functions, each printing a warning, and the build checks they export
the same symbols as the libraries. The pkg-config file matches CUDA's.

Standalone archives are under the CUDA EULA, which lists cuBLAS as
distributable, but buildRedist defaults to nvidiaCudaRedist only for
CUDA's redistributables, so set the license.

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-26 21:30:07 -07:00
Ross Carter
9033bb5585 cudnn: fix cross compilation 2026-10-26 15:38:30 -04:00
Gaétan Lepage
8d3ab263fe cudaPackages.cutlass: 4.7.1 -> 4.8.1 (#578598) 2026-10-26 08:33:59 +00:00
Gaétan Lepage
f11fe650c9 cudaPackages.nvtx: build from source; python3Packages.nvtx: init at 0.2.16; cudaPackages.rmm: use nvtx (#573836) 2026-10-25 10:06:34 +00:00
Gaétan Lepage
0f2e4e105d cudaPackages.cuda_cudart: fix libcuda stub path in cuda.pc for CUDA 13.4 (#577528) 2026-10-25 09:32:39 +00:00
Connor Baker
4e2113cc3e cudaPackages.cutlass: fix the unit test build; add gpuCheck
The unit tests use the utility headers in tools/util (the
cutlass_tools_util_includes target), which CMake only adds with
CUTLASS_ENABLE_TOOLS. With the tools disabled, building the tests failed
with "cutlass/util/device_memory.h: No such file or directory". Enable the
tools when doCheck is set, keeping the CUTLASS library (and so the
profiler) disabled unless enableTools is set.

Add passthru.gpuCheck, which enables doCheck, in place of the TODO.

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-24 20:25:01 -07:00
Connor Baker
e8f16eea87 cudaPackages.cutlass: 4.7.1 -> 4.8.1
Changelog: https://github.com/NVIDIA/cutlass/blob/v4.8.1/CHANGELOG.md

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-24 17:58:34 -07:00
Connor Baker
9d99a993a1 cudaPackages.cutlass: ignore pre-release tags in updateScript
CUTLASS tags pre-releases such as v4.8.0dev, which gitUpdater picked as
the newest version (https://github.com/NixOS/nixpkgs/pull/560392).

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-24 17:58:32 -07:00
Connor Baker
f3c5c65301 cudaPackages.cuda_cudart: fix libcuda stub path in cuda.pc for CUDA 13.4
Before CUDA 13.4, cuda-XX.Y.pc set libdir to lib and linked with
-L${libdir} -lcuda, though libcuda.so is only in lib/stubs; postPatch
fixed that by pointing libdir at lib/stubs. CUDA 13.4 changed Libs to
-L${libdir}/stubs, so with both changes the search path became
lib/stubs/stubs and anything linking libcuda through pkg-config failed
with "cannot find -lcuda".

Drop the extra /stubs. The install check now links a program through the
installed cuda and cudart package config files, so wrong library paths
fail the build.

Assisted-by: Claude Code (Claude Opus 5.5)
Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
2026-10-24 00:49:49 -07:00
Gaetan Lepage
7f7bd476ce cudaPackages.nvtx: add GaetanLepage to maintainers 2026-10-22 08:00:46 +00:00
Connor Baker
00fb3bc4e8 cudaPackages.rmm: use cudaPackages.nvtx
rmm vendored the NVTX 3.2.0 source through CPM because the redistributable doesn't ship NVTX's CMake package
configuration. cudaPackages.nvtx now does from CUDA 12.9 on (rmm requires 13.4), and rapids-cmake's
CPM_USE_LOCAL_PACKAGES makes CPM find it. Propagate it, since rmm's installed configuration finds nvtx3.

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-22 07:59:40 +00:00
Connor Baker
a4bfd850a8 cudaPackages.nvtx: build from source for CUDA 12.9 and later
From CUDA 12.9, the redistributable contains only the NVTX v3 headers and libnvtx3interop. Build them from
https://github.com/NVIDIA/NVTX at 3.6.0 instead, along with the CMake package configuration and the NVTXW loader.
libnvtx3interop is built from the upstream test exporting the C API and exports the same symbols as the
redistributable's.

Earlier releases also contain the NVTX v2 headers and library (libnvToolsExt), which are not open source, so they
continue to use the redistributable.

Nothing in the build depends on the CUDA release, so it uses stdenv and no CUDA name prefix, and every CUDA package
set from 12.9 on shares one derivation.

passthru.pythonVersion records the version of the Python package in python/ (versioned independently of the C/C++
API), which the update script keeps in sync, for python3Packages.nvtx.

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-22 07:59:38 +00:00
Connor Baker
d630516d32 cudaPackages.cuda_nvtx: rename to nvtx
NVTX is to be built from source where possible, so it is no longer named after the redistributable. The
redistributable build moves to nvtx/redist.nix, and cuda_nvtx becomes a deprecated alias.

No rebuilds: the redistributable keeps its pname.

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-21 16:56:29 -07:00
Connor Baker
ed41ca093a cudaPackages.cuda_nvcc: link nvvm/lib64 to lib before CUDA 13
nvlink loads ../nvvm/lib64/libnvvm.so for device link-time
optimization, but before CUDA 13 we renamed nvvm/lib64 to lib, so
linking with -dlto failed with "nvlink fatal : elfLink linker library
load error". From CUDA 13, NVVM comes from libnvvm, which provides the
link already.

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-21 16:55:59 -07:00
Yuriy Taraday
f20ba3c693 cudaPackages.nccl: Fix src hash
Another victim of export-subst on GitHub. Patch affected file in
postFetch when it's present.
2026-10-20 11:49:51 +02:00
Gaétan Lepage
237c03cd99 cudaPackages.tensorrt: 11.3.0 -> 11.4.0 (#573654) 2026-10-20 08:30:25 +00:00
Connor Baker
e995b84f65 cudaPackages: use patched patchelf to fix build failures (#575979) 2026-10-19 19:16:23 +00:00
Gaétan Lepage
f4ed6da78a cudaPackages.cudnn_jit: init at 9.27.0.42 (#574104) 2026-10-19 14:28:35 +00:00
Gaetan Lepage
e59d8331a8 cudaPackages: use patched patchelf to fix build failures 2026-10-19 12:07:25 +00:00
Gaetan Lepage
0b81c77ed5 cudaPackages.cudnn-frontend: make passthru.updateScript skip pre-releases 2026-10-19 11:11:09 +00:00
Ethan Carter Edwards
ed3a949aa8 cudaPackages.raft: init at 26.08.00
Needed for libcuvs

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
2026-10-18 02:07:56 -04:00
Gaétan Lepage
d1c92bb224 cudaPackages.mathdx: init at 26.06.1 (#574105) 2026-10-15 16:41:47 +00:00
Connor Baker
2709eb98e4 cudaPackages.mathdx: init at 26.06.1
MathDx bundles NVIDIA's device-side math libraries: cuBLASDx, cuFFTDx,
cuRANDDx, cuSolverDx, and nvCOMPDx.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 08:23:03 -07:00
Connor Baker
11123d1b34 cudaPackages.cuda_tileiras: init (#571916) 2026-10-15 14:15:30 +00:00
Connor Baker
cc4f759c42 cudaPackages.cudnn_jit: init at 9.27.0.42
cuDNN JIT is a smaller configuration of cuDNN providing only the runtime
fusion engines. It substitutes for cudnn: the libraries share sonames
and headers.

https://docs.nvidia.com/deeplearning/cudnn/latest/developer/graph-api.html#cudnn-jit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:36:55 -07:00
Connor Baker
ac4fe12ea6 cudaPackages.tensorrt: 11.3.0 -> 11.4.0
TensorRT 11.4.0.106 ships the same Linux archives as 11.3.0: linux-x86_64 for CUDA 12.9 and 13.4, and linux-sbsa for
CUDA 13.4. Unlike 11.3.0's, the linux-sbsa archive's libnvdla_compiler.so no longer links against the L4T-only
libnvos.so; no remaining TensorRT 11 release needs it (11.1.0 doesn't ship libnvdla_compiler.so), so drop libnvos.so
from autoPatchelfIgnoreMissingDeps. Jetson devices and linux-sbsa with CUDA 12 stay on TensorRT 10.x and 11.1.0.

The 11.4 release has no sample data, so tensorrt-samples keeps using the 11.0 data.

Remove the now-unused 11.3.0 manifest.

Changelog: https://docs.nvidia.com/deeplearning/tensorrt/latest/getting-started/release-notes-11/11.4.0.html

Assisted-by: Claude Code (Claude Opus 5.5)
2026-10-14 20:15:58 -07:00
Connor Baker
de02de0054 cudaPackages.nvcomp: add gpuCheck
Compresses and decompresses a batch with the LZ4 C API on the GPU and
checks the result.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:44:20 -07:00
Connor Baker
0df7774af1 cudaPackages.cuda_tileiras: describe the package, add meta.mainProgram
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:00:27 -07:00
Connor Baker
6b5b04941f cudaPackages.cuda_tileiras: wrap tileiras to find libNVVM and ptxas
tileiras dlopens libNVVM and execs ptxas, looking for them under
CUDA_ROOT, CUDA_HOME, or CUDA_PATH, or else relative to its own binary
as in a CUDA Toolkit installation. None of these resolve in Nixpkgs, so
compiling any non-trivial Tile IR program failed with
"failed to compile Tile IR program" (exit code 5).

Default CUDA_ROOT to cuda_nvcc, which has both bin/ptxas and
nvvm/lib64/libnvvm.so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:00:27 -07:00
stefan
37cc6b0bcb cudaPackages.cuda_tileiras: init 2026-10-14 14:00:27 -07:00
Connor Baker
66d6a3f2d0 cudaPackages.nvcomp: 5.3.0 -> 6.0.0
Changelog: https://docs.nvidia.com/cuda/nvcomp/release_notes.html

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:45:22 -07:00
Ethan Carter Edwards
cb4b505c85 cudaPackages.rmm: init at 26.08.00
Needed for libcuvs

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
2026-10-13 17:37:48 -04:00
Ethan Carter Edwards
f0a26468ae cudaPackages.libnvshmem: fix build by fixing output name
Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
2026-10-13 15:30:04 -04:00
Connor Baker
dda73c9ef1 cudaPackages.libnvshmem: add "samples" and "test" outputs to reduce the closure size (#573633) 2026-10-13 15:36:20 +00:00
Gaetan Lepage
f9cfe7a156 cudaPackages.libnvshmem: add "samples" and "test" outputs to reduce the closure size
Co-authored-by: Ilan Joselevich <personal@ilanjoselevich.com>
2026-10-13 15:26:22 +00:00
Gaetan Lepage
f09416f98a cudaPackages_13_4: 13.4.2 -> 13.4.3
Changelog:
https://docs.nvidia.com/cuda/archive/13.4.3/cuda-toolkit-release-notes/index.html

Assisted-by: Claude Code (claude-opus-5-5)
2026-10-13 15:05:13 +00:00
Connor Baker
dd50db5f2a cudaPackages.nccl-rdma-sharp-plugins: init at 2.7-unstable-2026-08-11 (#573596) 2026-10-13 14:51:05 +00:00
Gaetan Lepage
9866567a02 cudaPackages.nccl-rdma-sharp-plugins: init at 2.7-unstable-2026-08-11
Assisted-by: Claude Code (claude-opus-5-5)
2026-10-13 13:12:10 +00:00
Gaetan Lepage
7aa2bae446 cudaPackages.libnvshmem: 3.7.2-0 -> 3.8.0-0
Diff: https://github.com/NVIDIA/nvshmem/compare/v3.7.2-0...v3.8.0-0

Changelog: https://github.com/NVIDIA/nvshmem/releases/tag/v3.8.0-0
2026-10-13 11:40:45 +00:00
Gaétan Lepage
2623c47445 cudaPackages.libnvshmem: 3.6.5-0 -> 3.7.2-0 (#573069) 2026-10-13 11:25:44 +00:00
Gaétan Lepage
66ed7d097f cudaPackages.cuco: init at 0-unstable-2026-07-02 (#573480) 2026-10-13 11:24:14 +00:00
Ethan Carter Edwards
ca9552e24a cudaPackages.cuco: init at 0-unstable-2026-07-02
Needed for libcuvs

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
2026-10-13 11:16:10 +00:00
Gaétan Lepage
c2df3d7477 cudaPackages.cccl: backport cuda::make_tma_descriptor fix (#573489) 2026-10-13 10:58:30 +00:00