cudaPackages_12_6: init at 12.6.0 (#377991)
This commit is contained in:
@@ -17,6 +17,7 @@ let
|
||||
"12.2" = "12.2.2";
|
||||
"12.3" = "12.3.0";
|
||||
"12.4" = "12.4.0";
|
||||
"12.6" = "12.6.0";
|
||||
};
|
||||
|
||||
# Check if the current CUDA version is supported.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -157,6 +157,12 @@ filterAndCreateOverrides {
|
||||
cudaAtLeast,
|
||||
gmp,
|
||||
expat,
|
||||
libxcrypt-legacy,
|
||||
ncurses6,
|
||||
python39,
|
||||
python310,
|
||||
python311,
|
||||
python312,
|
||||
stdenv,
|
||||
lib,
|
||||
}:
|
||||
@@ -165,12 +171,35 @@ filterAndCreateOverrides {
|
||||
prevAttrs.buildInputs
|
||||
# x86_64 only needs gmp from 12.0 and on
|
||||
++ lib.lists.optionals (cudaAtLeast "12.0") [ gmp ]
|
||||
# Additional dependencies for CUDA 12.6 and later, which
|
||||
# support multiple Python versions.
|
||||
++ lib.lists.optionals (cudaAtLeast "12.6") [
|
||||
libxcrypt-legacy
|
||||
ncurses6
|
||||
python39
|
||||
python310
|
||||
python311
|
||||
python312
|
||||
]
|
||||
# aarch64,sbsa needs expat
|
||||
++ lib.lists.optionals (stdenv.hostPlatform.isAarch64) [ expat ];
|
||||
|
||||
installPhase =
|
||||
prevAttrs.installPhase
|
||||
# Python 3.8 is not in nixpkgs anymore, delete Python 3.8 cuda-gdb support
|
||||
# to avoid autopatchelf failing to find libpython3.8.so.
|
||||
+ lib.optionalString (cudaAtLeast "12.6") ''
|
||||
find $bin -name '*python3.8*' -delete
|
||||
'';
|
||||
};
|
||||
|
||||
cuda_nvcc =
|
||||
{ backendStdenv, setupCudaHook }:
|
||||
{
|
||||
lib,
|
||||
backendStdenv,
|
||||
cudaOlder,
|
||||
setupCudaHook,
|
||||
}:
|
||||
prevAttrs: {
|
||||
# Merge "bin" and "dev" into "out" to avoid circular references
|
||||
outputs = builtins.filter (
|
||||
@@ -195,15 +224,20 @@ filterAndCreateOverrides {
|
||||
# backend-stdenv.nix
|
||||
|
||||
postPatch =
|
||||
let
|
||||
nvvmReplace = lib.optionalString (cudaOlder "12.6") ''
|
||||
--replace-fail \
|
||||
'$(TOP)/$(_NVVM_BRANCH_)' \
|
||||
"''${!outputBin}/nvvm" \
|
||||
'';
|
||||
in
|
||||
(prevAttrs.postPatch or "")
|
||||
+ ''
|
||||
substituteInPlace bin/nvcc.profile \
|
||||
--replace-fail \
|
||||
'$(TOP)/$(_NVVM_BRANCH_)' \
|
||||
"''${!outputBin}/nvvm" \
|
||||
--replace-fail \
|
||||
'$(TOP)/$(_TARGET_DIR_)/include' \
|
||||
"''${!outputDev}/include"
|
||||
"''${!outputDev}/include" \
|
||||
${nvvmReplace}
|
||||
|
||||
cat << EOF >> bin/nvcc.profile
|
||||
|
||||
|
||||
@@ -16,17 +16,22 @@
|
||||
gst_all_1,
|
||||
gtk2,
|
||||
lib,
|
||||
libxcrypt-legacy,
|
||||
libxkbcommon,
|
||||
libkrb5,
|
||||
krb5,
|
||||
makeWrapper,
|
||||
markForCudatoolkitRootHook,
|
||||
ncurses5,
|
||||
ncurses6,
|
||||
numactl,
|
||||
nss,
|
||||
patchelf,
|
||||
perl,
|
||||
python3, # FIXME: CUDAToolkit 10 may still need python27
|
||||
python39,
|
||||
python310,
|
||||
python311,
|
||||
pulseaudio,
|
||||
setupCudaHook,
|
||||
stdenv,
|
||||
@@ -145,7 +150,15 @@ backendStdenv.mkDerivation rec {
|
||||
qtwebchannel
|
||||
qtwebengine
|
||||
])
|
||||
));
|
||||
))
|
||||
++ lib.optionals (lib.versionAtLeast version "12.6") [
|
||||
# libcrypt.so.1
|
||||
libxcrypt-legacy
|
||||
ncurses6
|
||||
python39
|
||||
python310
|
||||
python311
|
||||
];
|
||||
|
||||
# Prepended to runpaths by autoPatchelf.
|
||||
# The order inherited from older rpath preFixup code
|
||||
@@ -285,6 +298,11 @@ backendStdenv.mkDerivation rec {
|
||||
+ lib.optionalString (lib.versions.majorMinor version == "11.8") ''
|
||||
rm $out/include/include
|
||||
''
|
||||
# Python 3.8 is not in nixpkgs anymore, delete Python 3.8 cuda-gdb support
|
||||
# to avoid autopatchelf failing to find libpython3.8.so.
|
||||
+ lib.optionalString (lib.versionAtLeast version "12.6") ''
|
||||
find $out -name '*python3.8*' -delete
|
||||
''
|
||||
+ ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@@ -93,4 +93,10 @@
|
||||
url = "https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run";
|
||||
sha256 = "sha256-5qhC9OypSQV1zbaLaxu3jUe5Wol95I3uKSxDGJLlfRc=";
|
||||
};
|
||||
|
||||
"12.6" = {
|
||||
version = "12.6.0";
|
||||
url = "https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda_12.6.0_560.28.03_linux.run";
|
||||
sha256 = "sha256-MasEOU5psU3YZW4rRMKHfbGg6Jjf+KdUakxihDgQG5Q=";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -103,6 +103,13 @@ let
|
||||
clangMaxMajorVersion = "17";
|
||||
gccMaxMajorVersion = "13";
|
||||
};
|
||||
|
||||
# Added support for Clang 18
|
||||
# https://docs.nvidia.com/cuda/archive/12.6.0/cuda-installation-guide-linux/index.html#host-compiler-support-policy
|
||||
"12.6" = attrs."12.4" // {
|
||||
clangMaxMajorVersion = "18";
|
||||
};
|
||||
|
||||
};
|
||||
in
|
||||
attrs
|
||||
|
||||
@@ -2964,6 +2964,7 @@ with pkgs;
|
||||
cudaPackages_12_2 = callPackage ./cuda-packages.nix { cudaVersion = "12.2"; };
|
||||
cudaPackages_12_3 = callPackage ./cuda-packages.nix { cudaVersion = "12.3"; };
|
||||
cudaPackages_12_4 = callPackage ./cuda-packages.nix { cudaVersion = "12.4"; };
|
||||
cudaPackages_12_6 = callPackage ./cuda-packages.nix { cudaVersion = "12.6"; };
|
||||
cudaPackages_12 = cudaPackages_12_4; # Latest supported by cudnn
|
||||
|
||||
cudaPackages = recurseIntoAttrs cudaPackages_12;
|
||||
|
||||
Reference in New Issue
Block a user