mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-31 17:23:34 +00:00
cudaPackages.cudatoolkit: replace with symlinkJoin
This commit is contained in:
parent
ae42aad893
commit
8262bdf738
@ -307,6 +307,12 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
|
||||
- The `cudaPackages` package scope has been updated to `cudaPackages_12`.
|
||||
|
||||
- The deprecated `cudaPackages.cudatoolkit` has been replaced with a
|
||||
symlink-based wrapper for the splayed redistributable CUDA packages. The
|
||||
wrapper only includes tools and libraries necessary to build common packages
|
||||
like e.g. tensorflow. The original runfile-based `cudatoolkit` is still
|
||||
available as `cudatoolkit-legacy-runfile`.
|
||||
|
||||
- The `halloy` package was updated past 2024.5 which introduced a breaking change by switching the config format from YAML to TOML. See https://github.com/squidowl/halloy/releases/tag/2024.5 for details.
|
||||
|
||||
- Ada packages (libraries and tools) have been moved into the `gnatPackages` scope. `gnatPackages` uses the default GNAT compiler, `gnat12Packages` and `gnat13Packages` use the respective matching compiler version.
|
||||
|
@ -411,7 +411,7 @@ backendStdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A compiler for NVIDIA GPUs, math libraries, and tools";
|
||||
description = "The deprecated runfile-based CUDAToolkit installation (a compiler for NVIDIA GPUs, math libraries, and tools)";
|
||||
homepage = "https://developer.nvidia.com/cuda-toolkit";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
license = licenses.nvidiaCuda;
|
||||
|
86
pkgs/development/cuda-modules/cudatoolkit/redist-wrapper.nix
Normal file
86
pkgs/development/cuda-modules/cudatoolkit/redist-wrapper.nix
Normal file
@ -0,0 +1,86 @@
|
||||
{
|
||||
lib,
|
||||
symlinkJoin,
|
||||
backendStdenv,
|
||||
cudaOlder,
|
||||
cudatoolkit-legacy-runfile,
|
||||
cudaVersion,
|
||||
cuda_cccl ? null,
|
||||
cuda_cudart ? null,
|
||||
cuda_cuobjdump ? null,
|
||||
cuda_cupti ? null,
|
||||
cuda_cuxxfilt ? null,
|
||||
cuda_gdb ? null,
|
||||
cuda_nvcc ? null,
|
||||
cuda_nvdisasm ? null,
|
||||
cuda_nvml_dev ? null,
|
||||
cuda_nvprune ? null,
|
||||
cuda_nvrtc ? null,
|
||||
cuda_nvtx ? null,
|
||||
cuda_profiler_api ? null,
|
||||
cuda_sanitizer_api ? null,
|
||||
libcublas ? null,
|
||||
libcufft ? null,
|
||||
libcurand ? null,
|
||||
libcusolver ? null,
|
||||
libcusparse ? null,
|
||||
libnpp ? null,
|
||||
}:
|
||||
|
||||
let
|
||||
getAllOutputs = p: [
|
||||
(lib.getBin p)
|
||||
(lib.getLib p)
|
||||
(lib.getDev p)
|
||||
];
|
||||
hostPackages = [
|
||||
cuda_cuobjdump
|
||||
cuda_gdb
|
||||
cuda_nvcc
|
||||
cuda_nvdisasm
|
||||
cuda_nvprune
|
||||
];
|
||||
targetPackages = [
|
||||
cuda_cccl
|
||||
cuda_cudart
|
||||
cuda_cupti
|
||||
cuda_cuxxfilt
|
||||
cuda_nvml_dev
|
||||
cuda_nvrtc
|
||||
cuda_nvtx
|
||||
cuda_profiler_api
|
||||
cuda_sanitizer_api
|
||||
libcublas
|
||||
libcufft
|
||||
libcurand
|
||||
libcusolver
|
||||
libcusparse
|
||||
libnpp
|
||||
];
|
||||
|
||||
# This assumes we put `cudatoolkit` in `buildInputs` instead of `nativeBuildInputs`:
|
||||
allPackages = (map (p: p.__spliced.buildHost or p) hostPackages) ++ targetPackages;
|
||||
in
|
||||
|
||||
if cudaOlder "11.4" then
|
||||
cudatoolkit-legacy-runfile
|
||||
else
|
||||
symlinkJoin rec {
|
||||
name = "cuda-merged-${cudaVersion}";
|
||||
version = cudaVersion;
|
||||
|
||||
paths = builtins.concatMap getAllOutputs allPackages;
|
||||
|
||||
passthru = {
|
||||
cc = lib.warn "cudaPackages.cudatoolkit is deprecated, refer to the manual and use splayed packages instead" backendStdenv.cc;
|
||||
lib = symlinkJoin {
|
||||
inherit name;
|
||||
paths = map (p: lib.getLib p) allPackages;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A wrapper substituting the deprecated runfile-based CUDA installation";
|
||||
license = licenses.nvidiaCuda;
|
||||
};
|
||||
}
|
@ -69,7 +69,11 @@ let
|
||||
backendStdenv = final.callPackage ../development/cuda-modules/backend-stdenv.nix { };
|
||||
|
||||
# Loose packages
|
||||
cudatoolkit = final.callPackage ../development/cuda-modules/cudatoolkit { };
|
||||
|
||||
# TODO: Move to aliases.nix once all Nixpkgs has migrated to the splayed CUDA packages
|
||||
cudatoolkit = final.callPackage ../development/cuda-modules/cudatoolkit/redist-wrapper.nix { };
|
||||
cudatoolkit-legacy-runfile = final.callPackage ../development/cuda-modules/cudatoolkit { };
|
||||
|
||||
saxpy = final.callPackage ../development/cuda-modules/saxpy { };
|
||||
nccl = final.callPackage ../development/cuda-modules/nccl { };
|
||||
nccl-tests = final.callPackage ../development/cuda-modules/nccl-tests { };
|
||||
|
Loading…
Reference in New Issue
Block a user