From 0981d9473f646678a7279df30530c5ba51519ebe Mon Sep 17 00:00:00 2001 From: Samuel Ainsworth Date: Tue, 21 Sep 2021 07:03:01 +0000 Subject: [PATCH 1/2] cudatoolkit_11_{3,4}: init at 11.{3,4}.1 --- .../compilers/cudatoolkit/default.nix | 22 ++++++++++++++++--- .../science/math/cutensor/default.nix | 12 ++++++++-- .../cuda/cuda-library-samples/default.nix | 16 +++++++++++--- pkgs/test/cuda/cuda-samples/default.nix | 14 ++++++++++-- pkgs/test/cuda/cuda-samples/generic.nix | 19 +++++++++++++--- pkgs/test/cuda/default.nix | 8 +++++-- pkgs/top-level/all-packages.nix | 8 +++++-- 7 files changed, 82 insertions(+), 17 deletions(-) diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix index da6857f6ab92..1747f16f12d1 100644 --- a/pkgs/development/compilers/cudatoolkit/default.nix +++ b/pkgs/development/compilers/cudatoolkit/default.nix @@ -1,13 +1,15 @@ -{ lib -, callPackage +{ callPackage , fetchurl , gcc7 , gcc9 +, gcc10 +, lib }: let common = callPackage ./common.nix; -in rec { +in +rec { cudatoolkit_10_0 = common { version = "10.0.130"; url = "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux"; @@ -56,5 +58,19 @@ in rec { gcc = gcc9; }; + cudatoolkit_11_3 = common { + version = "11.3.1"; + url = "https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run"; + sha256 = "0d19pwcqin76scbw1s5kgj8n0z1p4v1hyfldqmamilyfxycfm4xd"; + gcc = gcc9; + }; + + cudatoolkit_11_4 = common { + version = "11.4.1"; + url = "https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux.run"; + sha256 = "0180pb1zfajb9l6blr467xkx01yp3snfwm2xix8x52crf6d36v6x"; + gcc = gcc10; # can bump to 11 along with stdenv.cc + }; + cudatoolkit_11 = cudatoolkit_11_2; } diff --git a/pkgs/development/libraries/science/math/cutensor/default.nix b/pkgs/development/libraries/science/math/cutensor/default.nix index 1b5895b02bb3..928d3103eeb2 100644 --- a/pkgs/development/libraries/science/math/cutensor/default.nix +++ b/pkgs/development/libraries/science/math/cutensor/default.nix @@ -1,6 +1,6 @@ { callPackage , cudatoolkit_10_1, cudatoolkit_10_2 -, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2 +, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2, cudatoolkit_11_3, cudatoolkit_11_4 }: rec { @@ -33,5 +33,13 @@ rec { cudatoolkit = cudatoolkit_11_2; }; - cutensor_cudatoolkit_11 = cutensor_cudatoolkit_11_2; + cutensor_cudatoolkit_11_3 = cutensor_cudatoolkit_11_0.override { + cudatoolkit = cudatoolkit_11_3; + }; + + cutensor_cudatoolkit_11_4 = cutensor_cudatoolkit_11_0.override { + cudatoolkit = cudatoolkit_11_4; + }; + + cutensor_cudatoolkit_11 = cutensor_cudatoolkit_11_4; } diff --git a/pkgs/test/cuda/cuda-library-samples/default.nix b/pkgs/test/cuda/cuda-library-samples/default.nix index 91095fbd3ac4..ff256028cdf0 100644 --- a/pkgs/test/cuda/cuda-library-samples/default.nix +++ b/pkgs/test/cuda/cuda-library-samples/default.nix @@ -1,8 +1,8 @@ { callPackage , cudatoolkit_10_1, cudatoolkit_10_2 -, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2 +, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2, cudatoolkit_11_3, cudatoolkit_11_4 , cutensor_cudatoolkit_10_1, cutensor_cudatoolkit_10_2 -, cutensor_cudatoolkit_11_0, cutensor_cudatoolkit_11_1, cutensor_cudatoolkit_11_2 +, cutensor_cudatoolkit_11_0, cutensor_cudatoolkit_11_1, cutensor_cudatoolkit_11_2, cutensor_cudatoolkit_11_3, cutensor_cudatoolkit_11_4 }: rec { @@ -37,6 +37,16 @@ rec { cutensor_cudatoolkit = cutensor_cudatoolkit_11_2; }; + cuda-library-samples_cudatoolkit_11_3 = callPackage ./generic.nix { + cudatoolkit = cudatoolkit_11_3; + cutensor_cudatoolkit = cutensor_cudatoolkit_11_3; + }; + + cuda-library-samples_cudatoolkit_11_4 = callPackage ./generic.nix { + cudatoolkit = cudatoolkit_11_4; + cutensor_cudatoolkit = cutensor_cudatoolkit_11_4; + }; + cuda-library-samples_cudatoolkit_11 = - cuda-library-samples_cudatoolkit_11_2; + cuda-library-samples_cudatoolkit_11_4; } diff --git a/pkgs/test/cuda/cuda-samples/default.nix b/pkgs/test/cuda/cuda-samples/default.nix index 1a361c57214c..5b46a0651eba 100644 --- a/pkgs/test/cuda/cuda-samples/default.nix +++ b/pkgs/test/cuda/cuda-samples/default.nix @@ -1,6 +1,6 @@ { callPackage , cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2 -, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2 +, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2, cudatoolkit_11_3, cudatoolkit_11_4 }: rec { @@ -40,5 +40,15 @@ rec { sha256 = "1p1qjvfbm28l933mmnln02rqrf0cy9kbpsyb488d1haiqzvrazl1"; }; - cuda-samples_cudatoolkit_11 = cuda-samples_cudatoolkit_11_2; + cuda-samples_cudatoolkit_11_3 = callPackage ./generic.nix { + cudatoolkit = cudatoolkit_11_3; + sha256 = "0kbibb6pgz8j5iq6284axcnmycaha9bw8qlmdp6yfwmnahq1v0yz"; + }; + + cuda-samples_cudatoolkit_11_4 = callPackage ./generic.nix { + cudatoolkit = cudatoolkit_11_4; + sha256 = "082dkk5y34wyvjgj2p5j1d00rk8xaxb9z0mhvz16bd469r1bw2qk"; + }; + + cuda-samples_cudatoolkit_11 = cuda-samples_cudatoolkit_11_4; } diff --git a/pkgs/test/cuda/cuda-samples/generic.nix b/pkgs/test/cuda/cuda-samples/generic.nix index 2e3dcc8891f4..c5a9e24abd43 100644 --- a/pkgs/test/cuda/cuda-samples/generic.nix +++ b/pkgs/test/cuda/cuda-samples/generic.nix @@ -1,6 +1,11 @@ -{ lib, stdenv, fetchFromGitHub -, pkg-config, addOpenGLRunpath -, sha256, cudatoolkit +{ addOpenGLRunpath +, cudatoolkit +, fetchFromGitHub +, fetchpatch +, lib +, pkg-config +, sha256 +, stdenv }: let @@ -22,6 +27,14 @@ stdenv.mkDerivation { buildInputs = [ cudatoolkit ]; + # See https://github.com/NVIDIA/cuda-samples/issues/75. + patches = lib.optionals (version == "11.3") [ + (fetchpatch { + url = "https://github.com/NVIDIA/cuda-samples/commit/5c3ec60faeb7a3c4ad9372c99114d7bb922fda8d.patch"; + sha256 = "sha256:15bydf59scmfnldz5yawbjacdxafi50ahgpzq93zlc5xsac5sz6i"; + }) + ]; + enableParallelBuilding = true; preConfigure = '' diff --git a/pkgs/test/cuda/default.nix b/pkgs/test/cuda/default.nix index aac52e6a4f5d..7989e4e2b7d2 100644 --- a/pkgs/test/cuda/default.nix +++ b/pkgs/test/cuda/default.nix @@ -10,7 +10,9 @@ rec { cuda-samples_cudatoolkit_11 cuda-samples_cudatoolkit_11_0 cuda-samples_cudatoolkit_11_1 - cuda-samples_cudatoolkit_11_2; + cuda-samples_cudatoolkit_11_2 + cuda-samples_cudatoolkit_11_3 + cuda-samples_cudatoolkit_11_4; cuda-library-samplesPackages = callPackage ./cuda-library-samples { }; inherit (cuda-library-samplesPackages) @@ -20,5 +22,7 @@ rec { cuda-library-samples_cudatoolkit_11 cuda-library-samples_cudatoolkit_11_0 cuda-library-samples_cudatoolkit_11_1 - cuda-library-samples_cudatoolkit_11_2; + cuda-library-samples_cudatoolkit_11_2 + cuda-library-samples_cudatoolkit_11_3 + cuda-library-samples_cudatoolkit_11_4; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dffd925fd794..5c35e126b0e2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4111,7 +4111,9 @@ with pkgs; cudatoolkit_11 cudatoolkit_11_0 cudatoolkit_11_1 - cudatoolkit_11_2; + cudatoolkit_11_2 + cudatoolkit_11_3 + cudatoolkit_11_4; cudatoolkit = cudatoolkit_10; @@ -4136,7 +4138,9 @@ with pkgs; cutensor_cudatoolkit_11 cutensor_cudatoolkit_11_0 cutensor_cudatoolkit_11_1 - cutensor_cudatoolkit_11_2; + cutensor_cudatoolkit_11_2 + cutensor_cudatoolkit_11_3 + cutensor_cudatoolkit_11_4; cutensor = cutensor_cudatoolkit_10; From 512b0ffc64e9496a508e5b5fa308e966e2efa95d Mon Sep 17 00:00:00 2001 From: Samuel Ainsworth Date: Tue, 21 Sep 2021 17:53:44 -0700 Subject: [PATCH 2/2] cutensor_cudatoolkit_11: maintain same version as cudatoolkit_11 Co-authored-by: r-burns <52847440+r-burns@users.noreply.github.com> --- pkgs/development/libraries/science/math/cutensor/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/science/math/cutensor/default.nix b/pkgs/development/libraries/science/math/cutensor/default.nix index 928d3103eeb2..b8f4475ce122 100644 --- a/pkgs/development/libraries/science/math/cutensor/default.nix +++ b/pkgs/development/libraries/science/math/cutensor/default.nix @@ -41,5 +41,5 @@ rec { cudatoolkit = cudatoolkit_11_4; }; - cutensor_cudatoolkit_11 = cutensor_cudatoolkit_11_4; + cutensor_cudatoolkit_11 = cutensor_cudatoolkit_11_2; }