diff --git a/doc/languages-frameworks/cuda.section.md b/doc/languages-frameworks/cuda.section.md new file mode 100644 index 00000000000..fccf66bf79d --- /dev/null +++ b/doc/languages-frameworks/cuda.section.md @@ -0,0 +1,34 @@ +# CUDA {#cuda} + +CUDA-only packages are stored in the `cudaPackages` packages set. This set +includes the `cudatoolkit`, portions of the toolkit in separate derivations, +`cudnn`, `cutensor` and `nccl`. + +A package set is available for each CUDA version, so for example +`cudaPackages_11_6`. Within each set is a matching version of the above listed +packages. Additionally, other versions of the packages that are packaged and +compatible are available as well. For example, there can be a +`cudaPackages.cudnn_8_3_2` package. + +To use one or more CUDA packages in an expression, give the expression a `cudaPackages` parameter, and in case CUDA is optional +```nix +cudaSupport ? false +cudaPackages ? {} +``` + +When using `callPackage`, you can choose to pass in a different variant, e.g. +when a different version of the toolkit suffices +```nix +mypkg = callPackage { cudaPackages = cudaPackages_11_5; } +``` + +If another version of say `cudnn` or `cutensor` is needed, you can override the +package set to make it the default. This guarantees you get a consistent package +set. +```nix +mypkg = let + cudaPackages = cudaPackages_11_5.overrideScope' (final: prev { + cudnn = prev.cudnn_8_3_2; + }}); +in callPackage { inherit cudaPackages; }; +``` diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index f221693e764..144fa96bac1 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -11,6 +11,7 @@ + diff --git a/nixos/modules/services/misc/ethminer.nix b/nixos/modules/services/misc/ethminer.nix index 253476d1a23..22363466982 100644 --- a/nixos/modules/services/misc/ethminer.nix +++ b/nixos/modules/services/misc/ethminer.nix @@ -85,7 +85,7 @@ in config = mkIf cfg.enable { systemd.services.ethminer = { - path = optional (cfg.toolkit == "cuda") [ pkgs.cudatoolkit ]; + path = optional (cfg.toolkit == "cuda") [ pkgs.cudaPackages.cudatoolkit ]; description = "ethminer ethereum mining service"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index a0467b81714..2e3ff53550a 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -5,7 +5,7 @@ , openvdb, libXxf86vm, tbb, alembic , zlib, zstd, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath , jackaudioSupport ? false, libjack2 -, cudaSupport ? config.cudaSupport or false, cudatoolkit_11 +, cudaSupport ? config.cudaSupport or false, cudaPackages ? {} , colladaSupport ? true, opencollada , spaceNavSupport ? stdenv.isLinux, libspnav , makeWrapper @@ -63,7 +63,7 @@ stdenv.mkDerivation rec { llvmPackages.openmp SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL ]) ++ optional jackaudioSupport libjack2 - ++ optional cudaSupport cudatoolkit_11 + ++ optional cudaSupport cudaPackages.cudatoolkit ++ optional colladaSupport opencollada ++ optional spaceNavSupport libspnav; pythonPath = with python310Packages; [ numpy requests ]; diff --git a/pkgs/applications/misc/firestarter/default.nix b/pkgs/applications/misc/firestarter/default.nix index 92c517835d8..dca8e125691 100644 --- a/pkgs/applications/misc/firestarter/default.nix +++ b/pkgs/applications/misc/firestarter/default.nix @@ -8,11 +8,13 @@ , glibc , git , pkg-config -, cudatoolkit +, cudaPackages ? {} , withCuda ? false }: let + inherit (cudaPackages) cudatoolkit; + hwloc = stdenv.mkDerivation rec { pname = "hwloc"; version = "2.2.0"; diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix index db2e74f2452..d6c95633dd5 100644 --- a/pkgs/applications/science/math/caffe/default.nix +++ b/pkgs/applications/science/math/caffe/default.nix @@ -13,13 +13,17 @@ , Accelerate, CoreGraphics, CoreVideo , lmdbSupport ? true, lmdb , leveldbSupport ? true, leveldb, snappy -, cudaSupport ? config.cudaSupport or false, cudatoolkit -, cudnnSupport ? cudaSupport, cudnn ? null -, ncclSupport ? false, nccl ? null +, cudaSupport ? config.cudaSupport or false, cudaPackages ? {} +, cudnnSupport ? cudaSupport +, ncclSupport ? false , pythonSupport ? false, python ? null, numpy ? null , substituteAll }: +let + inherit (cudaPackages) cudatoolkit cudnn nccl; +in + assert leveldbSupport -> (leveldb != null && snappy != null); assert cudnnSupport -> cudaSupport; assert ncclSupport -> cudaSupport; diff --git a/pkgs/applications/science/math/cntk/default.nix b/pkgs/applications/science/math/cntk/default.nix index eb14982575a..d39c04e8fee 100644 --- a/pkgs/applications/science/math/cntk/default.nix +++ b/pkgs/applications/science/math/cntk/default.nix @@ -2,10 +2,14 @@ , fetchpatch , openblas, blas, lapack, opencv3, libzip, boost, protobuf, mpi , onebitSGDSupport ? false -, cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11 -, cudnnSupport ? cudaSupport, cudnn +, cudaSupport ? false, cudaPackages ? {}, addOpenGLRunpath, cudatoolkit, nvidia_x11 +, cudnnSupport ? cudaSupport }: +let + inherit (cudaPackages) cudatoolkit cudnn; +in + assert cudnnSupport -> cudaSupport; assert blas.implementation == "openblas" && lapack.implementation == "openblas"; diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix index 8e5e1ebd7e8..8353226cefe 100644 --- a/pkgs/applications/science/math/mxnet/default.nix +++ b/pkgs/applications/science/math/mxnet/default.nix @@ -1,10 +1,14 @@ { config, stdenv, lib, fetchurl, fetchpatch, bash, cmake , opencv3, gtest, blas, gomp, llvmPackages, perl -, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11 -, cudnnSupport ? cudaSupport, cudnn +, cudaSupport ? config.cudaSupport or false, cudaPackages ? {}, nvidia_x11 +, cudnnSupport ? cudaSupport , cudaCapabilities ? [ "3.7" "5.0" "6.0" "7.0" "7.5" "8.0" "8.6" ] }: +let + inherit (cudaPackages) cudatoolkit cudnn; +in + assert cudnnSupport -> cudaSupport; stdenv.mkDerivation rec { diff --git a/pkgs/development/compilers/cudatoolkit/auto-add-opengl-runpath-hook.sh b/pkgs/development/compilers/cudatoolkit/auto-add-opengl-runpath-hook.sh new file mode 100644 index 00000000000..0b0da336514 --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/auto-add-opengl-runpath-hook.sh @@ -0,0 +1,14 @@ +# Run autoOpenGLRunpath on all files +echo "Sourcing auto-add-opengl-runpath-hook" + +autoAddOpenGLRunpathPhase () { + # TODO: support multiple outputs + for file in $(find ${out,lib,bin} -type f); do + addOpenGLRunpath $file + done +} + +if [ -z "${dontUseAutoAddOpenGLRunpath-}" ]; then + echo "Using autoAddOpenGLRunpathPhase" + postFixupHooks+=(autoAddOpenGLRunpathPhase) +fi diff --git a/pkgs/development/compilers/cudatoolkit/common.nix b/pkgs/development/compilers/cudatoolkit/common.nix index 46832e1cc2d..6375c513f41 100644 --- a/pkgs/development/compilers/cudatoolkit/common.nix +++ b/pkgs/development/compilers/cudatoolkit/common.nix @@ -254,6 +254,7 @@ stdenv.mkDerivation rec { ''; passthru = { cc = gcc; + majorMinorVersion = lib.versions.majorMinor version; majorVersion = lib.versions.majorMinor version; }; diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix deleted file mode 100644 index d7fa6ee59f0..00000000000 --- a/pkgs/development/compilers/cudatoolkit/default.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ callPackage -, fetchurl -, gcc7 -, gcc9 -, gcc10 -, lib -}: - -let - common = callPackage ./common.nix; -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"; - sha256 = "16p3bv1lwmyqpxil8r951h385sy9asc578afrc7lssa68c71ydcj"; - - gcc = gcc7; - }; - - cudatoolkit_10_1 = common { - version = "10.1.243"; - url = "https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run"; - sha256 = "0caxhlv2bdq863dfp6wj7nad66ml81vasq2ayf11psvq2b12vhp7"; - - gcc = gcc7; - }; - - cudatoolkit_10_2 = common { - version = "10.2.89"; - url = "http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run"; - sha256 = "04fasl9sjkb1jvchvqgaqxprnprcz7a8r52249zp2ijarzyhf3an"; - - gcc = gcc7; - }; - - cudatoolkit_10 = cudatoolkit_10_2; - - cudatoolkit_11_0 = common { - version = "11.0.3"; - url = "https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run"; - sha256 = "1h4c69nfrgm09jzv8xjnjcvpq8n4gnlii17v3wzqry5d13jc8ydh"; - - gcc = gcc9; - }; - - cudatoolkit_11_1 = common { - version = "11.1.1"; - url = "https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run"; - sha256 = "13yxv2fgvdnqqbwh1zb80x4xhyfkbajfkwyfpdg9493010kngbiy"; - gcc = gcc9; - }; - - cudatoolkit_11_2 = common { - version = "11.2.1"; - url = "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run"; - sha256 = "sha256-HamMuJfMX1inRFpKZspPaSaGdwbLOvWKZpzc2Nw9F8g="; - 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.2"; - url = "https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run"; - sha256 = "sha256-u9h8oOkT+DdFSnljZ0c1E83e9VUILk2G7Zo4ZZzIHwo="; - gcc = gcc10; # can bump to 11 along with stdenv.cc - }; - - cudatoolkit_11_5 = common { - version = "11.5.0"; - url = "https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run"; - sha256 = "sha256-rgoWk9lJfPPYHmlIlD43lGNpANtxyY1Y7v2sr38aHkw="; - gcc = gcc10; # can bump to 11 along with stdenv.cc - }; - - cudatoolkit_11_6 = common { - version = "11.6.1"; - url = "https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run"; - sha256 = "sha256-qyGa/OALdCABEyaYZvv/derQN7z8I1UagzjCaEyYTX4="; - gcc = gcc10; # can bump to 11 along with stdenv.cc - }; - - # Make sure to only ever update this to a version that is compatible with the - # latest cudnn, nccl, cutensor, etc! It sometimes happens that CUDA versions - # are released prior to compatibility with the rest of the ecosystem. And - # don't forget to request a review from @NixOS/cuda-maintainers! - cudatoolkit_11 = cudatoolkit_11_5; # update me to 11_6 when cudnn>=8.3.3 -} diff --git a/pkgs/development/compilers/cudatoolkit/extension.nix b/pkgs/development/compilers/cudatoolkit/extension.nix new file mode 100644 index 00000000000..862c8316799 --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/extension.nix @@ -0,0 +1,15 @@ +final: prev: let + ### Cuda Toolkit + + # Function to build the class cudatoolkit package + buildCudaToolkitPackage = final.callPackage ./common.nix; + + # Version info for the classic cudatoolkit packages that contain everything that is in redist. + cudatoolkitVersions = final.lib.importTOML ./versions.toml; + + ### Add classic cudatoolkit package + cudatoolkit = buildCudaToolkitPackage ((attrs: attrs // { gcc = prev.pkgs.${attrs.gcc}; }) cudatoolkitVersions.${final.cudaVersion}); + +in { + inherit cudatoolkit; +} diff --git a/pkgs/development/compilers/cudatoolkit/redist/build-cuda-redist-package.nix b/pkgs/development/compilers/cudatoolkit/redist/build-cuda-redist-package.nix new file mode 100644 index 00000000000..9bbd7ea1da1 --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/redist/build-cuda-redist-package.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchurl +, autoPatchelfHook +, autoAddOpenGLRunpathHook +}: + +pname: +attrs: + +let + arch = "linux-x86_64"; +in stdenv.mkDerivation { + inherit pname; + inherit (attrs) version; + + src = assert (lib.hasAttr arch attrs); fetchurl { + url = "https://developer.download.nvidia.com/compute/cuda/redist/${attrs.${arch}.relative_path}"; + inherit (attrs.${arch}) sha256; + }; + + nativeBuildInputs = [ + autoPatchelfHook + # This hook will make sure libcuda can be found + # in typically /lib/opengl-driver by adding that + # directory to the rpath of all ELF binaries. + # Check e.g. with `patchelf --print-rpath path/to/my/binary + autoAddOpenGLRunpathHook + ]; + + buildInputs = [ + stdenv.cc.cc.lib + ]; + + dontBuild = true; + + # TODO: choose whether to install static/dynamic libs + installPhase = '' + runHook preInstall + rm LICENSE + mkdir -p $out + mv * $out + runHook postInstall + ''; + + meta = { + description = attrs.name; + license = lib.licenses.unfree; + platforms = lib.optionals (lib.hasAttr arch attrs) [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/development/compilers/cudatoolkit/redist/extension.nix b/pkgs/development/compilers/cudatoolkit/redist/extension.nix new file mode 100644 index 00000000000..65057b90a03 --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/redist/extension.nix @@ -0,0 +1,32 @@ +final: prev: let + + inherit (final) callPackage; + inherit (prev) cudaVersion lib pkgs; + + ### Cuda Toolkit Redist + + # Manifest files for redist cudatoolkit. These can be found at + # https://developer.download.nvidia.com/compute/cuda/redist/ + cudaToolkitRedistManifests = { + "11.4" = ./manifests/redistrib_11.4.4.json; + "11.5" = ./manifests/redistrib_11.5.2.json; + "11.6" = ./manifests/redistrib_11.6.2.json; + }; + + # Function to build a single cudatoolkit redist package + buildCudaToolkitRedistPackage = callPackage ./build-cuda-redist-package.nix { }; + + # Function that builds all cudatoolkit redist packages given a cuda version and manifest file + buildCudaToolkitRedistPackages = { version, manifest }: let + attrs = lib.filterAttrs (key: value: key != "release_date") (lib.importJSON manifest); + in lib.mapAttrs buildCudaToolkitRedistPackage attrs; + + redistExists = cudaToolkitRedistManifests ? "${cudaVersion}"; + + # All cudatoolkit redist packages for the current cuda version + cudaToolkitRedistPackages = if + lib.hasAttr cudaVersion cudaToolkitRedistManifests + then buildCudaToolkitRedistPackages { version = cudaVersion; manifest = cudaToolkitRedistManifests.${cudaVersion}; } + else {}; + +in cudaToolkitRedistPackages diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.4.4.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.4.4.json new file mode 100644 index 00000000000..374079b2bcb --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.4.4.json @@ -0,0 +1,862 @@ +{ + "release_date": "2022-02-01", + "cuda_cccl": { + "name": "CXX Core Compute Libraries", + "license": "CUDA Toolkit", + "version": "11.4.122", + "linux-x86_64": { + "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-11.4.122-archive.tar.xz", + "sha256": "150b163bde4975154d6238ae1272c74df81b303dccca1f7637bd91027b65afc5", + "md5": "e0e41040716a4d6113410d7cb25c7906", + "size": "951832" + }, + "linux-ppc64le": { + "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-11.4.122-archive.tar.xz", + "sha256": "0d1d729ac3f52bdd04f197a6cef295b3463c4975d70dbd97f4e1b08a4857f488", + "md5": "f615eccb3b8d694f4c7aa864c93959d7", + "size": "951780" + }, + "linux-sbsa": { + "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-11.4.122-archive.tar.xz", + "sha256": "98f495b99c68fae54fe728e72aa3b8e2e5b1d77c9fd4946370cec3b063a7fcf3", + "md5": "28692dd487b5936dbfac70ac56b65561", + "size": "951340" + }, + "windows-x86_64": { + "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-11.4.122-archive.zip", + "sha256": "d721c4bcc5bf8054eb944b7c3203ce5f593523f798559f3f4c1effdd8ed36f48", + "md5": "fa6bbf1291ebdd8f63f4f5176be4ae9c", + "size": "2422426" + } + }, + "cuda_cudart": { + "name": "CUDA Runtime (cudart)", + "license": "CUDA Toolkit", + "version": "11.4.148", + "linux-x86_64": { + "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-11.4.148-archive.tar.xz", + "sha256": "36bd6f1ea8711f69405ebd0b26d1f791a6ef6eb01cc3f01ba4231eb8ec09c208", + "md5": "b98036aa5e633eb19b7ef2e32e8811a7", + "size": "828732" + }, + "linux-ppc64le": { + "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-11.4.148-archive.tar.xz", + "sha256": "fb70c6477dce2cfc3ee13d361b76453ad92671be36f98fab50e2510f657eb00e", + "md5": "594855b91ad5e9aa674d3a93d741431e", + "size": "777952" + }, + "linux-sbsa": { + "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-11.4.148-archive.tar.xz", + "sha256": "d013448f76c22614e458de94b5289807d2d0934b3a5deb073b621401a222c16f", + "md5": "2bcac7ef368ebeb804e33c4c7920ff78", + "size": "783344" + }, + "windows-x86_64": { + "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-11.4.148-archive.zip", + "sha256": "e889e38929a95845409ed7dcdb0e6189343af5d17442a3b8c9f2ba297f0d262e", + "md5": "c2fcccb16eec0cf4ed5807fcba2bd745", + "size": "2898471" + } + }, + "cuda_cuobjdump": { + "name": "cuobjdump", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "dd9d51ca6d1772545ba77640f74bd1162ea4ffe223e17c8faa6e0a11ec9b5e2a", + "md5": "0a28c3ee87dbe294afc73b90ff0c8101", + "size": "110008" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "3f5013ecd3ad3ef1f90f981189826ae9e5aadb7549a99e834c0f6d77c897a7ff", + "md5": "56cabd1ef862f62c10a6fc9e47186797", + "size": "115060" + }, + "linux-sbsa": { + "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-11.4.120-archive.tar.xz", + "sha256": "7f5c5e38780d9d44084f05ae091be1ad8672f370a6da17cc3f0a9a55e998163a", + "md5": "5df0f75608960c20f5c2b3b11cb9a2d3", + "size": "99752" + }, + "windows-x86_64": { + "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-11.4.120-archive.zip", + "sha256": "e371440535fae634c625a5dd02d18cd4accd11b9166703f9d5a95f7b721f09b0", + "md5": "2d8a519c9ebe674a624b3b4cbfe91be3", + "size": "2535529" + } + }, + "cuda_cupti": { + "name": "CUPTI", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "e589bd0955dc59cf7871dad3446e583316623dd899b67c34b808fbe14cde0209", + "md5": "e80232b5629d4c26376411f28ec41b05", + "size": "15499004" + }, + "linux-ppc64le": { + "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "24687d171f15101109dc428bd2236889bda617377b2a29bdfc0173095bcf28a8", + "md5": "8a0aef6d201a0bb79af677d3aba9c790", + "size": "8092764" + }, + "linux-sbsa": { + "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-11.4.120-archive.tar.xz", + "sha256": "d66367c166d27ddd6d7ed07f7a492dfed77b6eae505a7037a29537ce3e15eeb3", + "md5": "81b11a7aac656df569ba5ab909d114c7", + "size": "7301688" + }, + "windows-x86_64": { + "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-11.4.120-archive.zip", + "sha256": "74545a99d9a35c53790003006b29b9af5ca52b48f8703fdbc003665b42f5ec39", + "md5": "745b2b131e2f421e65c7792547792b12", + "size": "10080557" + } + }, + "cuda_cuxxfilt": { + "name": "CUDA cuxxfilt (demangler)", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "8dc88e398f976d20540e7c7b4f004f158b12cd9edf59a9ab988abbacc3e1452c", + "md5": "2bc240881b64f762b053a6284a2f3c04", + "size": "176072" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "943e23feafe86b9b83441a51ada152b110031f7891dfa531d2ef85657360f70e", + "md5": "eed7b9a4008d6d18a2cc3d1630169fb9", + "size": "172424" + }, + "linux-sbsa": { + "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-11.4.120-archive.tar.xz", + "sha256": "50808b530cab8d37bfb73683c36afb9da843c6ca18d0394c1ce636ab4594ec9e", + "md5": "f5f79636b09d840234f7b54a10e6245a", + "size": "162820" + }, + "windows-x86_64": { + "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-11.4.120-archive.zip", + "sha256": "471a6106789596ac7f5de8bc9326b4a0193ecc35f7e5831fb32827a8cecaa2d0", + "md5": "76ff5d04e065ab466b607d16019f01bd", + "size": "166494" + } + }, + "cuda_demo_suite": { + "name": "CUDA Demo Suite", + "license": "CUDA Toolkit", + "version": "11.4.100", + "linux-x86_64": { + "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-11.4.100-archive.tar.xz", + "sha256": "8cd9ffeb7742f4714166731ce8cbf74e2d2c8171d6b7091e0041816d47a7fd0c", + "md5": "9327079f165128a1b6346c32b61088e3", + "size": "3965292" + }, + "windows-x86_64": { + "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-11.4.100-archive.zip", + "sha256": "0ac19c9efa634042e1d38d97b75a656d9c0038219bdc5098a28d388ca7c427f2", + "md5": "8b97b7acba08bbbbbf122f2e0d81bc21", + "size": "5014818" + } + }, + "cuda_documentation": { + "name": "CUDA Documentation", + "license": "CUDA Toolkit", + "version": "11.4.126", + "linux-x86_64": { + "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-11.4.126-archive.tar.xz", + "sha256": "2db25b21a6687803d146d34df0005f7d784ebd9303fbbd48d21f4508aedeb3fd", + "md5": "107cb0150f83da7ebec6e118e4522498", + "size": "61960" + }, + "linux-ppc64le": { + "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-11.4.126-archive.tar.xz", + "sha256": "85719df5828ef91205353dab12085707e0f29c188aea41afe91b36f86ec9b338", + "md5": "afb21df7f560fa012593ff31021490a7", + "size": "61912" + }, + "linux-sbsa": { + "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-11.4.126-archive.tar.xz", + "sha256": "94c9bc3ab45b1e951570d4312fbb3627ac8cedb88d1da4a57fbfd1677a03f2c8", + "md5": "d05e8ec60b4aa7e494a960a32d18c7fa", + "size": "61944" + }, + "windows-x86_64": { + "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-11.4.126-archive.zip", + "sha256": "a02dc2be494f4429ee5d183c218d5b27744f3daf0d29b50516dd501491a42f5a", + "md5": "4e14de4b3f89d9ef951e8ea35ff810fe", + "size": "99427" + } + }, + "cuda_gdb": { + "name": "CUDA GDB", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "ce9748c224b2163dba84cc9e0ebbd7ea29217eb4674bd9e7892290c7eaae372b", + "md5": "e0de9ddbf59cfa699f4a1eb16961463e", + "size": "64086980" + }, + "linux-ppc64le": { + "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "5084eee5c04c6a823e6e0f8c30eb2587b5ab31a949d21818ce769cd22191896e", + "md5": "562494875b8b8ccc345b146f3894288b", + "size": "63994280" + }, + "linux-sbsa": { + "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-11.4.120-archive.tar.xz", + "sha256": "c9f18f6f7262b39df76830798aa4dda5fbf455b95bd4af2eb5ae25ce77e3848c", + "md5": "cbf494bf0bc03c39106825333ff777b0", + "size": "63856896" + } + }, + "cuda_memcheck": { + "name": "CUDA Memcheck", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_memcheck/linux-x86_64/cuda_memcheck-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "6e1d64a2b31fec96a5eeb1d6ea914cfe83c671c3de4f987b6b5cda65d6e3b9e7", + "md5": "5b70e9b1eb50d0fff5b5d56ae76b358d", + "size": "139580" + }, + "linux-ppc64le": { + "relative_path": "cuda_memcheck/linux-ppc64le/cuda_memcheck-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "3a4d4c876bbb032c1e611b22a79e2cdce44cc6691ed519a63886a06094385ab4", + "md5": "97aa39e782ac0d935fa25dbad41274bd", + "size": "148128" + }, + "windows-x86_64": { + "relative_path": "cuda_memcheck/windows-x86_64/cuda_memcheck-windows-x86_64-11.4.120-archive.zip", + "sha256": "d3357d2a41143f8007c17af45b7e5733e0ec4c0c1185322739232c7603221b88", + "md5": "82ad9ae4d123a3666177f326b88fbacb", + "size": "181182" + } + }, + "cuda_nsight": { + "name": "Nsight Eclipse Edition Plugin", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "b2b54743ad4f8bbd812548a26be40f561f6fda0f0ab01df4e630ef30af7bfd7a", + "md5": "5981def738578dfe6f6166abe943f178", + "size": "118598236" + }, + "linux-ppc64le": { + "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "c8cfb7300dba923acfdd5e7b2d32f7a576b7d6d954fc71a3896aba0226b00f81", + "md5": "8b78eed909b09f80d91548f28a622b43", + "size": "118598240" + } + }, + "cuda_nvcc": { + "name": "CUDA NVCC", + "license": "CUDA Toolkit", + "version": "11.4.152", + "linux-x86_64": { + "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-11.4.152-archive.tar.xz", + "sha256": "7250fc83b54f9089e67f3b506648fd8e70a9107baed968cb5de169c05831d5e5", + "md5": "fae82c384d46626a2f2e69fd98f0034d", + "size": "35931152" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-11.4.152-archive.tar.xz", + "sha256": "a53c8d2e4454be0e899986a1585f8b1eddf874aac165716d6f98989e53f971d3", + "md5": "1b74e7951c76119a03b805bde8d42fc9", + "size": "33718168" + }, + "linux-sbsa": { + "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-11.4.152-archive.tar.xz", + "sha256": "c0743a099bfb8c840a20317559668777e9a8ac9664dc121bcd22d76cee08416d", + "md5": "8982bd399b169d45717763cae36f4bc3", + "size": "31676392" + }, + "windows-x86_64": { + "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-11.4.152-archive.zip", + "sha256": "460c9e54bd0b99f4f63243eeb6b2090d17193361575b189c050faa10d465d4a9", + "md5": "c9cae278599871aea78aa4584c24bbb1", + "size": "45724284" + } + }, + "cuda_nvdisasm": { + "name": "CUDA nvdisasm", + "license": "CUDA Toolkit", + "version": "11.4.152", + "linux-x86_64": { + "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-11.4.152-archive.tar.xz", + "sha256": "6ab9bd7c31a54529762fddc9ebfc4d331a912bf97b47318b0b75bfbd3b8a5551", + "md5": "e4d610b84f47026baa4c0603b007a778", + "size": "32847928" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-11.4.152-archive.tar.xz", + "sha256": "6cd970a59ba219c5da1ce39dbf08d7ba491ea17849adfed4ad83cc8409624348", + "md5": "a0870567d10771c7b3319880743e5a21", + "size": "32770452" + }, + "linux-sbsa": { + "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-11.4.152-archive.tar.xz", + "sha256": "68743913c877014b4f9a6d7267cc117d443c9990ea583ea837a1c51df1676d7d", + "md5": "204674baa498d7ebef702b73733b001f", + "size": "32729816" + }, + "windows-x86_64": { + "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-11.4.152-archive.zip", + "sha256": "9fa3a5a1248ad1247ee78a3d9627f1b2d7173cbde5bdb1635a853624f3f8137e", + "md5": "68ac6d501a93683e6faaab5ec4e59e4c", + "size": "33052575" + } + }, + "cuda_nvml_dev": { + "name": "CUDA NVML Headers", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "f722199f9cc101c97c6fc809745076645064d36558a5aab56bba5529716e0fe9", + "md5": "1262ec1a15eeb4f2c7158192f580804f", + "size": "71964" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "08a763906637778d1c85455bdad4f2c0cb15d4cb0ae1c088dc474cb7ff78af81", + "md5": "bae7ce5fda7a60e4f05219d8a0b8944c", + "size": "71564" + }, + "linux-sbsa": { + "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-11.4.120-archive.tar.xz", + "sha256": "61c93230ea9fd9ae657c57954294380b5e8ee1688778f519ce5d43b728a04b9d", + "md5": "91ba0d30c5ef440a1ffe115e5f5b6fb7", + "size": "72120" + }, + "windows-x86_64": { + "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-11.4.120-archive.zip", + "sha256": "d97d1266345bcaf4212132bbc19270ee9c10bae37b29647ff5f40620f83fa3ce", + "md5": "928f18b29e00a1a342119dddc1e0a0da", + "size": "100022" + } + }, + "cuda_nvprof": { + "name": "CUDA nvprof", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "bcf705c8f25f3423014b4182741e91676c4858b1b055a314911e24787a2d3129", + "md5": "cc266f0a2c9e05ac34105fc084b54b9e", + "size": "1938384" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "398dd3c6f04b712f7ed0e70ee3d56ee04e0b9fa249cc0a655b9263a24dca7d8c", + "md5": "e1e6ef34ffefaf4e9bc5d34f34777427", + "size": "1594396" + }, + "linux-sbsa": { + "relative_path": "cuda_nvprof/linux-sbsa/cuda_nvprof-linux-sbsa-11.4.120-archive.tar.xz", + "sha256": "e87eceb2da015262ca57f7200c8ca96251dd11161afcdeea9a080fce06e90730", + "md5": "95260289dd9f07abd0013b0b82c2aa79", + "size": "16124" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-11.4.120-archive.zip", + "sha256": "826b85be249e8a518f58b3fdaf36f52871e96e6fe0e86f7fc6facbc619405e81", + "md5": "a25a3b9d2710e7e9f09492492fe09777", + "size": "1610917" + } + }, + "cuda_nvprune": { + "name": "CUDA nvprune", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "3e0ae31117c82f5e0220662a9ee1df15d2aa79bf6a53bc627ee5898a3e9719ef", + "md5": "8b64523c53e6587c17c6c621ddf8a632", + "size": "52772" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "a8f62ffd30747f5481c6abb11a924dd68b8da9b4a72a0821a411d545fd79ebbf", + "md5": "eb0ba8fd0b6f8daeb6cc8d50f7344fff", + "size": "54280" + }, + "linux-sbsa": { + "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-11.4.120-archive.tar.xz", + "sha256": "da4078a81d0af984bd42f23c584091968454a0e925c64289f2e5922e02c76131", + "md5": "89c50bee0950223a4dc194726ed908fc", + "size": "46000" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-11.4.120-archive.zip", + "sha256": "ec5e1975147a83da707a1803c1e9af93b02ff8af246d23b733bd5a1662c708a9", + "md5": "8c22f5bb3b3bdbb0421b07b988e5ce3e", + "size": "143427" + } + }, + "cuda_nvrtc": { + "name": "CUDA NVRTC", + "license": "CUDA Toolkit", + "version": "11.4.152", + "linux-x86_64": { + "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-11.4.152-archive.tar.xz", + "sha256": "5b7e491b583d1914c591447b9cf1b4c02dc33b222874eb89eee4ea8f87929396", + "md5": "60aa9f569c86f41519a5d0a222f09109", + "size": "14691116" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-11.4.152-archive.tar.xz", + "sha256": "917d9e0f050bd140e279b6e063af3ab92e443572e6baf840e2c1ed6cb5b8e765", + "md5": "84ceac397b7172f94485065e42da41fd", + "size": "13608340" + }, + "linux-sbsa": { + "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-11.4.152-archive.tar.xz", + "sha256": "d82eb049e72545239c6d64e6bf5afd06b89df06f338165fc5a68a2bf3143472e", + "md5": "01b483fcf81c794266dce6d2b8b39a17", + "size": "13550244" + }, + "windows-x86_64": { + "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-11.4.152-archive.zip", + "sha256": "48e3def76ff1842d00051fd035e6487be711ac4019e9dc43f5db3f9e14363f91", + "md5": "4fa6b0fb01c359360ab9352dacace716", + "size": "16299675" + } + }, + "cuda_nvtx": { + "name": "CUDA NVTX", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "e50bd973d6b33f3b9a405a96ad04f62482e94bbbadfdc971ea1bb5d723c98c52", + "md5": "e62f8df47a1d8c47568c948b8d4789f8", + "size": "48148" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "fb89733ad6d46522a7e944c42df4127a6f87c38f0c4caa6b069669ef65a1c562", + "md5": "ff407300bcb5f8acac30fbda02fe7da3", + "size": "48152" + }, + "linux-sbsa": { + "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-11.4.120-archive.tar.xz", + "sha256": "95677940f19a12b82037958415efecc18c511c6480800c4df6d82bd5c3ba28b0", + "md5": "1d0f72f8a04df9ad7face3af3169c44d", + "size": "48676" + }, + "windows-x86_64": { + "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-11.4.120-archive.zip", + "sha256": "13bacfd087cc1d11759705bc9a04647201f5f1c49103ba2ac233981c305143ec", + "md5": "26de9a2dcb6ba9a920fd58cbf9dd19f2", + "size": "65720" + } + }, + "cuda_nvvp": { + "name": "CUDA NVVP", + "license": "CUDA Toolkit", + "version": "11.4.193", + "linux-x86_64": { + "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-11.4.193-archive.tar.xz", + "sha256": "4c7dd6fe52fd90aabfb9c4afa7a65302546ac8212e62c1d9e1d370ec9756d7e5", + "md5": "8d321f064b8c1bf4a9641694fae7c2bc", + "size": "112249072" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-11.4.193-archive.tar.xz", + "sha256": "4952683d2b158a2c507b3c1f968ad5fdb6d3421429832cb300c02733f775986e", + "md5": "fa0e0023ff79698989070754e2f6ab7d", + "size": "111627960" + }, + "windows-x86_64": { + "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-11.4.193-archive.zip", + "sha256": "0659bebb271a566e1a5e75659043632398d42b37413df879293da4c077472720", + "md5": "c5b3cdcedec6655ca69bf7083e9150f1", + "size": "120334859" + } + }, + "cuda_sanitizer_api": { + "name": "CUDA Compute Sanitizer API", + "license": "CUDA Toolkit", + "version": "11.4.120", + "linux-x86_64": { + "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-11.4.120-archive.tar.xz", + "sha256": "75044d837ef848460037fc16abe4f2f265791c3888c6d1f7e63366a466b2aee7", + "md5": "aa46c3b0ed1d16a75b489c75f067772e", + "size": "7092964" + }, + "linux-ppc64le": { + "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-11.4.120-archive.tar.xz", + "sha256": "825d5f72fbcc4ed04bce016009fbe5881fb138b14d55df7190121fb34b7d2845", + "md5": "0557a1dd8c0b9e8a854ed09357053143", + "size": "5831356" + }, + "linux-sbsa": { + "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-11.4.120-archive.tar.xz", + "sha256": "a241a68429a1c33fdd0ba335d81c246079086552c56abb08033dd3dc85c576ad", + "md5": "3a8de05d46d603136ac33ac6511dd454", + "size": "5648592" + }, + "windows-x86_64": { + "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-11.4.120-archive.zip", + "sha256": "9fdb78035542c4eb9a8e881b8ced959eabfa04894ce2b847d54741120b5f1aaa", + "md5": "ccd5b8f2656334b040a513c418408091", + "size": "12062745" + } + }, + "fabricmanager": { + "name": "NVIDIA Fabric Manager", + "license": "NVIDIA Driver", + "version": "470.82.01", + "linux-x86_64": { + "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-470.82.01-archive.tar.xz", + "sha256": "b039435622c14b2b1071aaabc0b63b04f21ec17564c1629a89e7cd25da8673fc", + "md5": "4d3782e2354cfe0d70c84e79aaf5e5a2", + "size": "1199624" + } + }, + "libcublas": { + "name": "CUDA cuBLAS", + "license": "CUDA Toolkit", + "version": "11.6.5.2", + "linux-x86_64": { + "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-11.6.5.2-archive.tar.xz", + "sha256": "751c585c062f6e1dfcb1bca5898de48d4a247edad478de37eda0c7c62038379a", + "md5": "9d36ade70e3d9c0059441fc59018d42e", + "size": "397289908" + }, + "linux-ppc64le": { + "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-11.6.5.2-archive.tar.xz", + "sha256": "0bbb8a8db38a3a0b97bfc879046dc42dca3defb0f82b1424e23c49bdcc6f26d0", + "md5": "9135c14acbcecd545578cc08642c6e53", + "size": "396612488" + }, + "linux-sbsa": { + "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-11.6.5.2-archive.tar.xz", + "sha256": "7325d4fe77567ee69799902eae7479b8d6518c7722882d683a41b1ebdd8f676d", + "md5": "75989e41f24bff9fbff1aaef7231b1aa", + "size": "396559712" + }, + "windows-x86_64": { + "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-11.6.5.2-archive.zip", + "sha256": "7ebcfcd9cc327a020f156d9a9f7607ea6a563038834991324230102915bef47c", + "md5": "1d69e9103b52557b6cb49cfdc5ae5709", + "size": "290453672" + } + }, + "libcufft": { + "name": "CUDA cuFFT", + "license": "CUDA Toolkit", + "version": "10.5.2.100", + "linux-x86_64": { + "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-10.5.2.100-archive.tar.xz", + "sha256": "0e3ec55be39db99c8769a3f297d190b93c8281afb5b3bc2ca1966ae94d42255f", + "md5": "08023fd6700cb0f324421af5cdc4e1df", + "size": "215214100" + }, + "linux-ppc64le": { + "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-10.5.2.100-archive.tar.xz", + "sha256": "b73d5a8a5a3a9497189b340001a0547d60b6971e42d60aa6d8ca0ae3ec1b0818", + "md5": "712c0cfb1c74439bb581d36fc9c1bb24", + "size": "214860644" + }, + "linux-sbsa": { + "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-10.5.2.100-archive.tar.xz", + "sha256": "49b7d658dc84fd6669a27907d403b4c93d82f9cc10670e9c990eed29ae6e5ee8", + "md5": "c652700572c72b422727fb3a9db5dfa2", + "size": "214998656" + }, + "windows-x86_64": { + "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-10.5.2.100-archive.zip", + "sha256": "eaf957a481d0c361724cf796b6bc105e36f9a3d17b7525107a78ff15ea3ddc6c", + "md5": "37d169ea81f44c4caca0bb1dcc527549", + "size": "287129611" + } + }, + "libcufile": { + "name": "CUDA cuFile", + "license": "CUDA Toolkit", + "version": "1.0.2.10", + "linux-x86_64": { + "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.0.2.10-archive.tar.xz", + "sha256": "6f9d83ff112d81dbf36317c5140e063d4750debbebc17ffeab3ad934dbc845f1", + "md5": "41929b0ff024c53033a705f29bc7e573", + "size": "45641384" + } + }, + "libcurand": { + "name": "CUDA cuRAND", + "license": "CUDA Toolkit", + "version": "10.2.5.120", + "linux-x86_64": { + "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.2.5.120-archive.tar.xz", + "sha256": "0f741c8c74bc19ea03a3a19a6d858d364d86d806fa5941763cafb181d4f9b2f0", + "md5": "5a87e0cef68405a1e4777b76d0db7fed", + "size": "79315612" + }, + "linux-ppc64le": { + "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.2.5.120-archive.tar.xz", + "sha256": "14589b5f7d7e4e283552a82ea9f7ffc6504e95c10dc33a5834a2aa75bcccb208", + "md5": "012f3f367e15dd623de41dfa9cd5c695", + "size": "79373580" + }, + "linux-sbsa": { + "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.2.5.120-archive.tar.xz", + "sha256": "834b508e8979c3f4751a0ddbc62e9c8bc113844e4f82326e73cc42da4adabad9", + "md5": "c76e1c5544208c0372848965b0aec0a1", + "size": "79304900" + }, + "windows-x86_64": { + "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.2.5.120-archive.zip", + "sha256": "35108db3e9afaac017e1d3460313632850e3627520cf2213b987fa3d4cf6a8ce", + "md5": "dff8fe892d9551a11d366f57a3f32ad5", + "size": "53518206" + } + }, + "libcusolver": { + "name": "CUDA cuSOLVER", + "license": "CUDA Toolkit", + "version": "11.2.0.120", + "linux-x86_64": { + "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.2.0.120-archive.tar.xz", + "sha256": "5bae164a8a6969a374f6abe33cc71462e714538c2a818228cf401d0fa6c3c1b7", + "md5": "198eb0679c8e81b9cb82107370bf1ee6", + "size": "113793268" + }, + "linux-ppc64le": { + "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.2.0.120-archive.tar.xz", + "sha256": "0e2671cbe1cdb8cf4eb11698131c4ef4ce9ae58623595e623bbb3a492d7abe99", + "md5": "9a10d6dddcd66a095d1f5dc47f7c4924", + "size": "113397472" + }, + "linux-sbsa": { + "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.2.0.120-archive.tar.xz", + "sha256": "a53d4d80240702a8216903798ced8449f690379b785cc5fee21aeff5e0241dc4", + "md5": "07d5e61eac9f304ff2eec374f7674711", + "size": "112947208" + }, + "windows-x86_64": { + "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.2.0.120-archive.zip", + "sha256": "72e456cc8d7e79f514eae95ac9a4acb269e66344d67c5913370a3f0367a1f862", + "md5": "c8097d4d1473b354b6570d9d9f788991", + "size": "175875554" + } + }, + "libcusparse": { + "name": "CUDA cuSPARSE", + "license": "CUDA Toolkit", + "version": "11.6.0.120", + "linux-x86_64": { + "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-11.6.0.120-archive.tar.xz", + "sha256": "00bef20a412c9b099e7e48477804ed4c2bda8581b101d19c50559efff79bf269", + "md5": "0aaa13f7c89ce128a2321ad4ed0fc45f", + "size": "205850728" + }, + "linux-ppc64le": { + "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-11.6.0.120-archive.tar.xz", + "sha256": "79721331edb5e17028273cf2280b2e3aedd11c4c8145c2fbd16afeb8c37f74b9", + "md5": "12525f41737ba7066427a946f546b73b", + "size": "205966724" + }, + "linux-sbsa": { + "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-11.6.0.120-archive.tar.xz", + "sha256": "93f7fbb8191e4af59aac32adb8ac06d6501bf90ca97e3e01f400314bc320c852", + "md5": "37aa8d11916834daf765f385417a1d23", + "size": "205713852" + }, + "windows-x86_64": { + "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-11.6.0.120-archive.zip", + "sha256": "bd995a141da804fa0d2c3bce1c6d575e862877e1356041dae326825e5194c176", + "md5": "63fa77c71d4c5f93e5f97dd03bbb31bb", + "size": "165699705" + } + }, + "libnpp": { + "name": "CUDA NPP", + "license": "CUDA Toolkit", + "version": "11.4.0.110", + "linux-x86_64": { + "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-11.4.0.110-archive.tar.xz", + "sha256": "2e65c5b8d8aabf5521faf8daab170ddef27d795f61ded58343a9070dffd2ebff", + "md5": "c8cce28919ab1b87952f657883ad2019", + "size": "149105144" + }, + "linux-ppc64le": { + "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-11.4.0.110-archive.tar.xz", + "sha256": "7cb571fb26fa5ae3c85489a45eb088ade9f6bf01105d651d7eaee9857085b368", + "md5": "794acd28cb9f8a741557bd3c2b6168fd", + "size": "149486332" + }, + "linux-sbsa": { + "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-11.4.0.110-archive.tar.xz", + "sha256": "c722734c0b36702a549a3796e76461376ae471d7af7729c1d59565cb08c95ed5", + "md5": "f97cc0df88a8000340d397f902d7d0a4", + "size": "148458280" + }, + "windows-x86_64": { + "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-11.4.0.110-archive.zip", + "sha256": "6e1a90494f93db97687b8f2b216da0ab3ca4677640c856a35e7d3b12c46c4223", + "md5": "57f29f491747786ef1392435502da28d", + "size": "111941586" + } + }, + "libnvjpeg": { + "name": "CUDA nvJPEG", + "license": "CUDA Toolkit", + "version": "11.5.2.120", + "linux-x86_64": { + "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-11.5.2.120-archive.tar.xz", + "sha256": "b664c4cec5bf0518c83c5568fb9bc36d202dff67fce4ee12657043f45b431347", + "md5": "3f8670cb77f6d11219e485aa28ff3b34", + "size": "1906200" + }, + "linux-ppc64le": { + "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-11.5.2.120-archive.tar.xz", + "sha256": "c0e5fe1dc9c45e71fde99071deac6a48a94515b79e59cb0fab4412060b6bac95", + "md5": "8cce374dc46360952ef14e19902d240e", + "size": "1925636" + }, + "linux-sbsa": { + "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-11.5.2.120-archive.tar.xz", + "sha256": "0e7f4360e75a6f880b2accbfd7dd0cc91e850014ee42ff1c5fcd5060fb14beec", + "md5": "1c8275903175d8f63dfef2b50c752bb4", + "size": "1764008" + }, + "windows-x86_64": { + "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-11.5.2.120-archive.zip", + "sha256": "45d894a95aa26e125f5d002d138c6d9a2f2568edf809fea86d7782657bdec5fc", + "md5": "ad0b579ee7817a42c813f5424c53019e", + "size": "1951350" + } + }, + "nsight_compute": { + "name": "Nsight Compute", + "license": "NVIDIA SLA", + "version": "2021.2.2.1", + "linux-x86_64": { + "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2021.2.2.1-archive.tar.xz", + "sha256": "9baed2f77b341f6953a7de1f93c0a939c9a08884edbe0b30b0887e9d81960b39", + "md5": "c3d6baccc29b24dc0f48a45454f61dad", + "size": "284793108" + }, + "linux-ppc64le": { + "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2021.2.2.1-archive.tar.xz", + "sha256": "07980f3c1bcf1256bdcc86a8cd61fda1214af39f1a2b27d7e249a0f97c9f68c7", + "md5": "f1ae025d30e3b6602ee922db46b2cea6", + "size": "57790468" + }, + "linux-sbsa": { + "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2021.2.2.1-archive.tar.xz", + "sha256": "21458456d17779c8c686055cd202414bdeb2445daae480311c428fe69e1649fe", + "md5": "6a3229e361f0d4dd1b6cd47a26a692cc", + "size": "56717204" + }, + "windows-x86_64": { + "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2021.2.2.1-archive.zip", + "sha256": "dcc1f9b2cbdcfebcfcacd1acf522145e3335349139da6994d2b6e7610a43eecf", + "md5": "21e5ef7a02a83748aed68fdf4765ff7a", + "size": "253104502" + } + }, + "nsight_nvtx": { + "name": "Nsight NVTX", + "license": "CUDA Toolkit", + "version": "1.21018621", + "windows-x86_64": { + "relative_path": "nsight_nvtx/windows-x86_64/nsight_nvtx-windows-x86_64-1.21018621-archive.zip", + "sha256": "d99b015bfb1308206f9d7c16ea401bf426fed3a5a99953b855fe4e68be5ed2d1", + "md5": "34ee04d45cfca1c4e3cbfba0ec8f6f80", + "size": "315692" + } + }, + "nsight_systems": { + "name": "Nsight Systems", + "license": "NVIDIA SLA", + "version": "2021.3.2.4", + "linux-x86_64": { + "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2021.3.2.4-archive.tar.xz", + "sha256": "317dcd4a3d78c7d916924f6433cb93415f19e16e4688413e4692180e37f7f87a", + "md5": "572fb66e9bd39406222eae7f3389794a", + "size": "174858452" + }, + "linux-ppc64le": { + "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2021.3.2.4-archive.tar.xz", + "sha256": "45c874f923af9fc6247058ce3324322593a7367edc4b105280d017970d5def69", + "md5": "4bacedaccacc5bb9cffe6b13f2502586", + "size": "21385068" + }, + "linux-sbsa": { + "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2021.3.2.4-archive.tar.xz", + "sha256": "76ce8ed29e4f8d8d472f702b9e14543f4c4e7b8f27a90079d8c3e6580db6cb16", + "md5": "f2b7b464fab05c73872b1ccfc8f433ea", + "size": "33097032" + }, + "windows-x86_64": { + "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2021.3.2.4-archive.zip", + "sha256": "1002ea5ef56ae5f458101af04252190e8873f950389f6c8f78cd475bd71b6efe", + "md5": "8e9e44e9e3ec526f1378d1e0d0423bff", + "size": "226086324" + } + }, + "nsight_vse": { + "name": "Nsight Visual Studio Edition (VSE)", + "license": "NVIDIA SLA", + "version": "2021.2.1.21205", + "windows-x86_64": { + "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2021.2.1.21205-archive.zip", + "sha256": "116fb34fc90cd13cf17649931be0af756930da98bbd5339b44b6cbd2d1e42453", + "md5": "1ff5d4397b22ed55be7c7d2a5a594a2a", + "size": "284584707" + } + }, + "nvidia_driver": { + "name": "NVIDIA Linux Driver", + "license": "NVIDIA Driver", + "version": "470.82.01", + "linux-x86_64": { + "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-470.82.01-archive.tar.xz", + "sha256": "aa8edae8b40ee2c6808fd59220e81f46f2ccf8bd1ec184eb8dc83ddabba139db", + "md5": "9fd218a52ee6620319a4c77176dd7145", + "size": "269972368" + }, + "linux-ppc64le": { + "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-470.82.01-archive.tar.xz", + "sha256": "eb521f9d849d05500f793915f0f455fe95ed0f515078081ea9e7903a0ca08957", + "md5": "c56d1492bcb7d65222f9dca907bf0c14", + "size": "67098452" + }, + "linux-sbsa": { + "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-470.82.01-archive.tar.xz", + "sha256": "4d8fa4bef4037b249f4da083796a213d3e6701e683784e75122b326ab7130625", + "md5": "2e3059458ca28211195801da983e424c", + "size": "183043372" + } + }, + "nvidia_fs": { + "name": "NVIDIA filesystem", + "license": "CUDA Toolkit", + "version": "2.7.53", + "linux-x86_64": { + "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.7.53-archive.tar.xz", + "sha256": "9fa17e62079fc1fadd1046b8a99dad39d1813cbc70c08bad8f30dc7946ba6894", + "md5": "4b4cc07a2aaf8562b1f658522613600a", + "size": "67712" + } + }, + "visual_studio_integration": { + "name": "CUDA Visual Studio Integration", + "license": "CUDA Toolkit", + "version": "11.4.120", + "windows-x86_64": { + "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-11.4.120-archive.zip", + "sha256": "a97171f455c7c3e938958ee02deddf264c63dd9f10197d07954917c04b444ff2", + "md5": "8f19de4992331ac5a877b3d3ccff25da", + "size": "387698" + } + } +} diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.5.2.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.5.2.json new file mode 100644 index 00000000000..94335065c8a --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.5.2.json @@ -0,0 +1,873 @@ +{ + "release_date": "2022-02-02", + "cuda_cccl": { + "name": "CXX Core Compute Libraries", + "license": "CUDA Toolkit", + "version": "11.5.62", + "linux-x86_64": { + "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-11.5.62-archive.tar.xz", + "sha256": "bbe633d6603d5a96a214dcb9f3f6f6fd2fa04d62e53694af97ae0c7afe0121b0", + "md5": "e5deef4f6cb71f14aac5be5d5745dafe", + "size": "960968" + }, + "linux-ppc64le": { + "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-11.5.62-archive.tar.xz", + "sha256": "f5301a213878c7afbc67da03b09b27e1cb92178483042538f1585df09407214a", + "md5": "9c3200a20b10bebcdde87367128d36d9", + "size": "960940" + }, + "linux-sbsa": { + "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-11.5.62-archive.tar.xz", + "sha256": "a4faf04025bdaf5b7871ad43f50cbe2ca10baf8665b17b78d32c50aa8ba7ae8b", + "md5": "229a13fbe8426da383addf9ee9168984", + "size": "960660" + }, + "windows-x86_64": { + "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-11.5.62-archive.zip", + "sha256": "2a44c359d523317d1c93ba6568ace3c088c83026e2e40d34a97fccd876466b4b", + "md5": "93604e9c00b8fbc31827c7a82c0894c2", + "size": "2459582" + } + }, + "cuda_cudart": { + "name": "CUDA Runtime (cudart)", + "license": "CUDA Toolkit", + "version": "11.5.117", + "linux-x86_64": { + "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-11.5.117-archive.tar.xz", + "sha256": "c01bfcfca22063c99fd50122d39383433f4f789e021c7785cd555f59c2632a2c", + "md5": "7549121367907b56af18e5806e8244bc", + "size": "836276" + }, + "linux-ppc64le": { + "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-11.5.117-archive.tar.xz", + "sha256": "8f412376f4951df52380d87bb6c22704cb930ac6cef0fe92f2f31604ef744ce7", + "md5": "dab60517ad1e6018c009305025158860", + "size": "782660" + }, + "linux-sbsa": { + "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-11.5.117-archive.tar.xz", + "sha256": "550f8dfdce3fb6ca723d716abff81e1fd55132a130d284ae2050a0f09f40c93f", + "md5": "c1c0c65dce9da1105d812d0b08d99108", + "size": "783804" + }, + "windows-x86_64": { + "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-11.5.117-archive.zip", + "sha256": "02cd427306ada807c9a8a1f16dd34ddeb58f35c7932bcbe13e1ee2afa882332c", + "md5": "b8c4d1288f5918d67777192abd627238", + "size": "2915733" + } + }, + "cuda_cuobjdump": { + "name": "cuobjdump", + "license": "CUDA Toolkit", + "version": "11.5.119", + "linux-x86_64": { + "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-11.5.119-archive.tar.xz", + "sha256": "798fa7124d56661d7a211900266f658d4303931936157e863c82cf31aeb27b09", + "md5": "1d965f0f33b751d050ac8238a7a350a3", + "size": "112864" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-11.5.119-archive.tar.xz", + "sha256": "04845b4feb728840823b17aadc2fb579bd8be4e04f1cfe25bb78e8724794cdfa", + "md5": "391d5e1b42899f34125793096f01bdbb", + "size": "117636" + }, + "linux-sbsa": { + "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-11.5.119-archive.tar.xz", + "sha256": "1ae185d861f7075046e53e8ec69d4b650eef1bc09fdb0c89adf69e48f9b13d57", + "md5": "19359104b424b6033b77c6b2984fc06f", + "size": "101836" + }, + "windows-x86_64": { + "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-11.5.119-archive.zip", + "sha256": "2b059697dcc5b3df8ca527612893905cfb91f52fef4988388458060d038d86a9", + "md5": "8f8ac819425d7e92a4bcb2e940eaeaad", + "size": "2538559" + } + }, + "cuda_cupti": { + "name": "CUPTI", + "license": "CUDA Toolkit", + "version": "11.5.114", + "linux-x86_64": { + "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-11.5.114-archive.tar.xz", + "sha256": "1ab09d29571a80f5c26187e78419b424a041ade7c9c108523aad26d6711eb222", + "md5": "1adc2bcb044a372317103ad44e60f73b", + "size": "15910648" + }, + "linux-ppc64le": { + "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-11.5.114-archive.tar.xz", + "sha256": "5739768e55551b131fd2bd0ef41806f70400e767cb520c511f11ea33ac940eb6", + "md5": "320d9f4904723fb3ea3d95c7ea736998", + "size": "8454516" + }, + "linux-sbsa": { + "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-11.5.114-archive.tar.xz", + "sha256": "05926807291609f643d4b92706a9ab627f4dd32e4f0c5779b58ba5c737453c43", + "md5": "6cd4c658b0e30704bb3f21cb861c16ab", + "size": "7827648" + }, + "windows-x86_64": { + "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-11.5.114-archive.zip", + "sha256": "56948dab7b3d39bc9d8231a277a051e57f95efe73f9f6bfeb9f66df2be3d2208", + "md5": "fcb8bbf96ad9258fc0771dd59ddbab25", + "size": "11262366" + } + }, + "cuda_cuxxfilt": { + "name": "CUDA cuxxfilt (demangler)", + "license": "CUDA Toolkit", + "version": "11.5.119", + "linux-x86_64": { + "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-11.5.119-archive.tar.xz", + "sha256": "46e3adabbf6a3e7920f054b0e16b8555606798453d5abb004cc4f82df20cf093", + "md5": "dc9e194c4c82ea3f3e2b5ac96b26355f", + "size": "185608" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-11.5.119-archive.tar.xz", + "sha256": "f7e3345c3545f72c3ef0020403463a72a21444b2e11f3d5a5e1c1a65e10c6f5b", + "md5": "7316d577039df32a4bc556b5c7f13140", + "size": "182008" + }, + "linux-sbsa": { + "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-11.5.119-archive.tar.xz", + "sha256": "7ef895dd76f2222d19344cadf32c84f8963c11a7773ceb73c7d9be4eb286576a", + "md5": "85bd622ebac9a567f88302f53f893391", + "size": "172336" + }, + "windows-x86_64": { + "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-11.5.119-archive.zip", + "sha256": "7820a76ffced4194ff09a910c70cfd5ab917e67be3a0371da4e25ed000346595", + "md5": "dbf1c3108e731c13466180709335e702", + "size": "168667" + } + }, + "cuda_demo_suite": { + "name": "CUDA Demo Suite", + "license": "CUDA Toolkit", + "version": "11.5.50", + "linux-x86_64": { + "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-11.5.50-archive.tar.xz", + "sha256": "0dc6fd4d8ab3a0a5ff1d5cbd9a5a6a970f2d01097c31903afcf733d36b67f884", + "md5": "da6c44696dada9f1adeb3234cfcdd9f1", + "size": "3976764" + }, + "windows-x86_64": { + "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-11.5.50-archive.zip", + "sha256": "c81ecafd4e0c6ec137f582720f94e8ac2295e673063755c551c6866e2c3ba190", + "md5": "39f63b4b72ba724454f679af3e351735", + "size": "5015382" + } + }, + "cuda_documentation": { + "name": "CUDA Documentation", + "license": "CUDA Toolkit", + "version": "11.5.114", + "linux-x86_64": { + "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-11.5.114-archive.tar.xz", + "sha256": "338466042a594f37996d7f50543096f0e1dc644f43319ff886e2496c339f4346", + "md5": "c54ab14d9bdc53b03eb927cf50b1ae6e", + "size": "62456" + }, + "linux-ppc64le": { + "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-11.5.114-archive.tar.xz", + "sha256": "69478f98bf8467843d5b6c3ae8163e082e89b9a6eb8061c900e1bbe76d570a03", + "md5": "3c93062774f05facc809047af4721017", + "size": "62516" + }, + "linux-sbsa": { + "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-11.5.114-archive.tar.xz", + "sha256": "ff6f44549650db44b0a6726b0ce1bc9b325d629190c6b17d35a2b99d36434678", + "md5": "54afce3c11863b2e515719325a3a05f4", + "size": "62452" + }, + "windows-x86_64": { + "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-11.5.114-archive.zip", + "sha256": "ec7ff829ce1717a88c54dbb15739e46f5d876e9ef32cc911fc66e2b78f3b286e", + "md5": "d84ba6f46eda183231a01523eb8a0593", + "size": "100197" + } + }, + "cuda_gdb": { + "name": "CUDA GDB", + "license": "CUDA Toolkit", + "version": "11.5.114", + "linux-x86_64": { + "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-11.5.114-archive.tar.xz", + "sha256": "a590393cdbfb6620053075d9eebb18abcaedfd8ccdec2e4c8f4631080e7eaa31", + "md5": "3e9ecd9834eb282d6ea55cf61765c01a", + "size": "64086136" + }, + "linux-ppc64le": { + "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-11.5.114-archive.tar.xz", + "sha256": "564c2ff35bf3f76c60f57c9669d4a1b8312f6fedb0fa08c16178634a451fef72", + "md5": "779ce7f3fd7b623c8cd12f822848c273", + "size": "63889192" + }, + "linux-sbsa": { + "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-11.5.114-archive.tar.xz", + "sha256": "482d8ad678e00a562b087a0e6d988ca92a83a3aefccf8a9166390956739637a6", + "md5": "bdc885a67bd000b44ea0f2ee46ab74f0", + "size": "63816804" + } + }, + "cuda_memcheck": { + "name": "CUDA Memcheck", + "license": "CUDA Toolkit", + "version": "11.5.114", + "linux-x86_64": { + "relative_path": "cuda_memcheck/linux-x86_64/cuda_memcheck-linux-x86_64-11.5.114-archive.tar.xz", + "sha256": "d13f915017ce2e4b6ed58b112fb831e07a638fa26cb73cd5501e330321048975", + "md5": "584bcd833078f505b6f4c96b32cb8f45", + "size": "139756" + }, + "linux-ppc64le": { + "relative_path": "cuda_memcheck/linux-ppc64le/cuda_memcheck-linux-ppc64le-11.5.114-archive.tar.xz", + "sha256": "43baae7eb977d265bd4763c10e5b5d2594a70dacabc00904468aa84c2ce13b82", + "md5": "02a82840a71a889bcbdf655d41704b20", + "size": "148096" + }, + "windows-x86_64": { + "relative_path": "cuda_memcheck/windows-x86_64/cuda_memcheck-windows-x86_64-11.5.114-archive.zip", + "sha256": "79193c8cf3a2d63cb182aea57aa54e705f49cc606cf13213439709b317fd9051", + "md5": "06d2c5975482a2d266c40baae8e94448", + "size": "172699" + } + }, + "cuda_nsight": { + "name": "Nsight Eclipse Edition Plugin", + "license": "CUDA Toolkit", + "version": "11.5.114", + "linux-x86_64": { + "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-11.5.114-archive.tar.xz", + "sha256": "a4a512d806cce1ce73c87c0b996eddbfebc735d6b749915c870907f347de1840", + "md5": "70bcbc9042f7757b34c1e7dbff56c719", + "size": "118606516" + }, + "linux-ppc64le": { + "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-11.5.114-archive.tar.xz", + "sha256": "1ad8e934acd5563ce23f40359f3515fa1344ed6cfa6e8ea37e7c9ed51c52ddcf", + "md5": "e58439f4b05a43a1e29cbe971228e1f8", + "size": "118606504" + } + }, + "cuda_nvcc": { + "name": "CUDA NVCC", + "license": "CUDA Toolkit", + "version": "11.5.119", + "linux-x86_64": { + "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-11.5.119-archive.tar.xz", + "sha256": "4072592764717f5c3ac53b95f0bb5f2bf427294b94aa9abda125e51b4fca9e0a", + "md5": "272cd495f19864fab9e0b8c6a4d70a4d", + "size": "36316988" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-11.5.119-archive.tar.xz", + "sha256": "1dd811c9e8e6bb219a7e0ef63514665f8d7e6253ad93474b5b3594fce85cb191", + "md5": "af5523c22de1667aece90f23dbe9a51a", + "size": "34137608" + }, + "linux-sbsa": { + "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-11.5.119-archive.tar.xz", + "sha256": "21e9d7941a62806331e94eff3ba22b4bcace3f8227e133580f0367343eb3f3a4", + "md5": "a7c7797e5d7a586d7e74cc3e70bda731", + "size": "31876488" + }, + "windows-x86_64": { + "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-11.5.119-archive.zip", + "sha256": "477ca5d096c2e5a87480cae24951b54e641030cfc3c75ce869e0656e4fcb2142", + "md5": "657fb06f0e06a16ee936aa22e7a3dd27", + "size": "46379856" + } + }, + "cuda_nvdisasm": { + "name": "CUDA nvdisasm", + "license": "CUDA Toolkit", + "version": "11.5.119", + "linux-x86_64": { + "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-11.5.119-archive.tar.xz", + "sha256": "7b5055db4fbc270a49d69dae6320331d16b3d50f828a9b155e7bf2abe138f273", + "md5": "0405b49d574e4fd5783a1bfba9228966", + "size": "32786096" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-11.5.119-archive.tar.xz", + "sha256": "10e7d0794c8efd42fd345355e9ae8680b767b1b8d004c9e9baf2b4ad9b993b59", + "md5": "11af2b0e169436278538d063370fc04f", + "size": "32776804" + }, + "linux-sbsa": { + "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-11.5.119-archive.tar.xz", + "sha256": "698ccf414b9a7d823dc8d9818df72cac0a10d618ab143b221bbf321ada96ef08", + "md5": "345f1c616a294ec7c70b1f881542a894", + "size": "32729044" + }, + "windows-x86_64": { + "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-11.5.119-archive.zip", + "sha256": "f8dee0ae12696a02a01e95083e1fde8222018f641f7ebf712985fc6c1716f217", + "md5": "f375afe649b16160af3ace6237d241cc", + "size": "32996636" + } + }, + "cuda_nvml_dev": { + "name": "CUDA NVML Headers", + "license": "CUDA Toolkit", + "version": "11.5.50", + "linux-x86_64": { + "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-11.5.50-archive.tar.xz", + "sha256": "e7a03b5c0324ccb5040cd494d2e3f1fba508cc437d666f112a6702d75bd80891", + "md5": "53f9279a45cb1bb6c1993e7245a38a74", + "size": "72176" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-11.5.50-archive.tar.xz", + "sha256": "753ac81cde5a58b7bd4b59d56ab5e0ba973f96d6ffe95c447eb47f170d0c74be", + "md5": "f08c23cf9598624799c19e628c6d91f8", + "size": "71972" + }, + "linux-sbsa": { + "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-11.5.50-archive.tar.xz", + "sha256": "d3f913393ec4a1648fc5230c766606e1c8a7ca31f7595fd149f5cbeea63bd01a", + "md5": "090c36b75393eef09d3b527521fa3791", + "size": "72472" + }, + "windows-x86_64": { + "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-11.5.50-archive.zip", + "sha256": "ccd320d7b4aa8c7006085e003b9763a20a37e101e59dde8bcaf13f1e3b5ec04c", + "md5": "b36dc6c87730612d3c538aacb10e89a8", + "size": "100572" + } + }, + "cuda_nvprof": { + "name": "CUDA nvprof", + "license": "CUDA Toolkit", + "version": "11.5.114", + "linux-x86_64": { + "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-11.5.114-archive.tar.xz", + "sha256": "611984e6ce96f216da0d5e3f72584b8e89512a712baf8faa5cc95f14be44ce51", + "md5": "3146cddf336fc73e4348018058c57c70", + "size": "1940688" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-11.5.114-archive.tar.xz", + "sha256": "24c238e26fe49489d3aee0429e629eadc24122a93e5935758c97dab91f2a59b3", + "md5": "685eed537cd8f9271d30a1d6a64d2643", + "size": "1597248" + }, + "linux-sbsa": { + "relative_path": "cuda_nvprof/linux-sbsa/cuda_nvprof-linux-sbsa-11.5.114-archive.tar.xz", + "sha256": "b1c7b2498665c70e7d675170f1309f19ec86a55d284fcac6c7e2337c07a565af", + "md5": "e26370530b986512b219f99fe707c57f", + "size": "16196" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-11.5.114-archive.zip", + "sha256": "6274433235b2b61aac7333b9a7472893c6b7ca53e34a9a96ca197e46e925d394", + "md5": "5d47af0e512563b484d3270a9225fad0", + "size": "1599403" + } + }, + "cuda_nvprune": { + "name": "CUDA nvprune", + "license": "CUDA Toolkit", + "version": "11.5.119", + "linux-x86_64": { + "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-11.5.119-archive.tar.xz", + "sha256": "f66c2632dbbdc6153aed2ae8bbf3291de258f7be5fd53350d469cf6f894aaa5c", + "md5": "737a4e6b4ba979934f22cd9ff932f47d", + "size": "55228" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-11.5.119-archive.tar.xz", + "sha256": "209ddd276e857cb41e162f3748778dceb224bbab445469480f6578d1b8a199ad", + "md5": "47f52a330781b2c5e6094ed309043faf", + "size": "55760" + }, + "linux-sbsa": { + "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-11.5.119-archive.tar.xz", + "sha256": "57429ab14f4a99fcc2f7160a9d93f39358a4cf0f8e0d0996973883b1f5c1d520", + "md5": "8b3d84b2e114e53b00e6fc6dd514750d", + "size": "47580" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-11.5.119-archive.zip", + "sha256": "89a883eee3d6931e9b071c19a9ef07368429b8008fcb0f392229baa3d21b6cc2", + "md5": "3e23701483da9ac6910a52dbcdb48ff0", + "size": "144817" + } + }, + "cuda_nvrtc": { + "name": "CUDA NVRTC", + "license": "CUDA Toolkit", + "version": "11.5.119", + "linux-x86_64": { + "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-11.5.119-archive.tar.xz", + "sha256": "78aa426f8d1bd6a309582268045e92d798dea84ab17b0e41bbf81ed4c6c51c37", + "md5": "a14c3f9a30ca27f0a975b6995b440927", + "size": "27772396" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-11.5.119-archive.tar.xz", + "sha256": "bd10849b493902487660d3216a9b1de2c687d0d013085a7194925ff0a8d0461a", + "md5": "b3e11ca277f1c92e8adf8056ee759fc2", + "size": "25932956" + }, + "linux-sbsa": { + "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-11.5.119-archive.tar.xz", + "sha256": "c924444459eca0ee5f5748cc80628c0e8759d6cf70c55b5ce2e1b4b37a46d3cd", + "md5": "31900a4918e162377e634dbc9d01ccba", + "size": "25787560" + }, + "windows-x86_64": { + "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-11.5.119-archive.zip", + "sha256": "e6c7312b4b8f678828dca2b2e29bd8a1afee83709885bffe0115743219e092ae", + "md5": "39a1fb1c6514e7a13d8822fef1fb6e95", + "size": "92408767" + } + }, + "cuda_nvtx": { + "name": "CUDA NVTX", + "license": "CUDA Toolkit", + "version": "11.5.114", + "linux-x86_64": { + "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-11.5.114-archive.tar.xz", + "sha256": "201b000020db8e296f526dbc1bedf6f0d2eb901e6add9d95a8badfaf8708bc7c", + "md5": "fa5a8ec26505381bff0d513c3219b4b6", + "size": "48196" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-11.5.114-archive.tar.xz", + "sha256": "b188a8b413c2f8502c4ac6bd22a8c4d60279f704682a0582e71cb045817c08bc", + "md5": "f51ac28484f7001ee7c10f37d5e98e38", + "size": "48180" + }, + "linux-sbsa": { + "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-11.5.114-archive.tar.xz", + "sha256": "9caf957366bc723e53de7189112bd04d99300932061a2c3590e26215d0a39a04", + "md5": "36e5d0c4a142260d1c5364733ce296cd", + "size": "48740" + }, + "windows-x86_64": { + "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-11.5.114-archive.zip", + "sha256": "4d60f65ef83bcf36d549095350097c4198f78a968452b1fff0f1dabbe96a633b", + "md5": "da8c51d38126ec2541c0f87dfd40aefe", + "size": "65783" + } + }, + "cuda_nvvp": { + "name": "CUDA NVVP", + "license": "CUDA Toolkit", + "version": "11.5.126", + "linux-x86_64": { + "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-11.5.126-archive.tar.xz", + "sha256": "453884ffe6732c0e1d19a17944dbdbb948a24ed2980acc67620bc0c160c4e023", + "md5": "9d89a2f1c793736e329a8b0b5176616a", + "size": "117592064" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-11.5.126-archive.tar.xz", + "sha256": "ebb5b6849b4c014b9eeebcaf0f8e333ee8ab4a65cac8ed401a6a31604d7435d6", + "md5": "6d621d6e56884143ac48910950dbc5f5", + "size": "116958804" + }, + "windows-x86_64": { + "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-11.5.126-archive.zip", + "sha256": "3e88475b6ce923c736e49f659717ee0cbb0551c5e30f9cb8256ebf740d02f457", + "md5": "4f8b8c7a3cafbdac8dfe3f9507c92d10", + "size": "120342187" + } + }, + "cuda_sanitizer_api": { + "name": "CUDA Compute Sanitizer API", + "license": "CUDA Toolkit", + "version": "11.5.114", + "linux-x86_64": { + "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-11.5.114-archive.tar.xz", + "sha256": "35d13fdeae94b2294c4d83661a663b5bae98e3f9b4aae00be101140a32409047", + "md5": "52719791f4361ee001bd6327d79dcb2b", + "size": "6818460" + }, + "linux-ppc64le": { + "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-11.5.114-archive.tar.xz", + "sha256": "b5353633dcc09e6360e9da14636774eee8cd9db90dd3ca93b77b1a95b104740c", + "md5": "3f79dbebc1b88b552da041ccb7921ac3", + "size": "7324744" + }, + "linux-sbsa": { + "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-11.5.114-archive.tar.xz", + "sha256": "3ce2d4421f9d8547bedb25c0ae8054ab0bb755384a33eea79dd036a8d4658a7f", + "md5": "7585db5187b4fcbb713ff89eaf877389", + "size": "5391196" + }, + "windows-x86_64": { + "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-11.5.114-archive.zip", + "sha256": "b216d0292002b4cc673a374f06576bc062e6566062a32edcdca60716e98f6587", + "md5": "eccae888d8ee4264f8b5517f9af7fbc3", + "size": "12199859" + } + }, + "fabricmanager": { + "name": "NVIDIA Fabric Manager", + "license": "NVIDIA Driver", + "version": "495.29.05", + "linux-x86_64": { + "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-495.29.05-archive.tar.xz", + "sha256": "36966ebf7951dbd77fefb95b326b9084948ac8d03fbb6e8997e90c0fe8f74c9d", + "md5": "4c4f119d897a77448f989534aa453a79", + "size": "1521552" + } + }, + "libcublas": { + "name": "CUDA cuBLAS", + "license": "CUDA Toolkit", + "version": "11.7.4.6", + "linux-x86_64": { + "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-11.7.4.6-archive.tar.xz", + "sha256": "1ba27f135e2f920bb47e22c05e4ef2e0a75e21d9306f5062e44c3d705150a3a9", + "md5": "878826ff2c817a35a335f5e6ff4c5153", + "size": "427700280" + }, + "linux-ppc64le": { + "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-11.7.4.6-archive.tar.xz", + "sha256": "061cdbeb437510437b4dfcd053834932e60943be996aea0187f6ba36b7cf614f", + "md5": "fb760e547e07904d0e52578b01326219", + "size": "427200296" + }, + "linux-sbsa": { + "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-11.7.4.6-archive.tar.xz", + "sha256": "38d7045310487b6f3dad4c6f8c5f6420b4dcf9dbf0171f3ef5f48f3e2f0024f9", + "md5": "0c5411a296b474cd02a57de4b8cf4d0d", + "size": "427180072" + }, + "windows-x86_64": { + "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-11.7.4.6-archive.zip", + "sha256": "a5b2c090e7b3da7b9823aa71ecf76a07344846daf8d26b13a06dba2d8a572c79", + "md5": "071e96d21a31393cfef5dd263d2eb90b", + "size": "317995451" + } + }, + "libcufft": { + "name": "CUDA cuFFT", + "license": "CUDA Toolkit", + "version": "10.6.0.107", + "linux-x86_64": { + "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-10.6.0.107-archive.tar.xz", + "sha256": "e2e51dc75c9c5b4476624bf683d50afbcc611f88361392625f017bd3efc545b9", + "md5": "abcd6e63926592b1d8de9a90e9953b44", + "size": "213873928" + }, + "linux-ppc64le": { + "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-10.6.0.107-archive.tar.xz", + "sha256": "5e0e004e33a148bf543fd69df8ad7fcd14ae72c60676679908a6cf164a065651", + "md5": "34042143bf1179bde112cee7237d149a", + "size": "214892660" + }, + "linux-sbsa": { + "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-10.6.0.107-archive.tar.xz", + "sha256": "e5ea473699697bcfd2a0ab7b807dbc5dd713bfe40221f7356097fb6e2577d73a", + "md5": "e800a93f81fdb7e95d31a14b7a215138", + "size": "213119620" + }, + "windows-x86_64": { + "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-10.6.0.107-archive.zip", + "sha256": "f6b846a79772640585cbfc35746ededa1210e1ba7005e075d678a4d84ffd93ec", + "md5": "7ec0315c986911ad1ea1cfd1705bc57a", + "size": "287130074" + } + }, + "libcufile": { + "name": "CUDA cuFile", + "license": "CUDA Toolkit", + "version": "1.1.1.25", + "linux-x86_64": { + "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.1.1.25-archive.tar.xz", + "sha256": "b4f4321f4fd249a2f4d68b3cf396a9e5891e33d73a297e21eea0ed9417340808", + "md5": "dae59d20c2f51dc90fb18d017a17664e", + "size": "45837600" + } + }, + "libcurand": { + "name": "CUDA cuRAND", + "license": "CUDA Toolkit", + "version": "10.2.7.107", + "linux-x86_64": { + "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.2.7.107-archive.tar.xz", + "sha256": "9dd3bfa212a4c8e58a6869c4992e710409d34c46d5a683cf99670d5ef5b1f8de", + "md5": "58f7993190fce602ea7e68aab7912774", + "size": "82066560" + }, + "linux-ppc64le": { + "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.2.7.107-archive.tar.xz", + "sha256": "67d0759b1252d9df7953932ed58d01c05a4861121c19bafbb544b585113552ab", + "md5": "368e13f6b9eb6e72fbc852d6dcfc4b6f", + "size": "82116948" + }, + "linux-sbsa": { + "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.2.7.107-archive.tar.xz", + "sha256": "e8f2cc5e786812cf70bd7bd37a9c78e3341e602c402177d44e7bf07fe7e85142", + "md5": "97065efb1e5fb99589540a45711eb2f3", + "size": "82051480" + }, + "windows-x86_64": { + "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.2.7.107-archive.zip", + "sha256": "fa74020026d1cf81b0a3004c823ae40a4f0a02df34041438b992e6058ff97cd2", + "md5": "df2a95194669cc02d987ee6527c5c6e3", + "size": "53627481" + } + }, + "libcusolver": { + "name": "CUDA cuSOLVER", + "license": "CUDA Toolkit", + "version": "11.3.2.107", + "linux-x86_64": { + "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.3.2.107-archive.tar.xz", + "sha256": "4c9e3fec211fa6cc6dd14a7d09237c56f43789e498817cd0839b0e6ef9c498fa", + "md5": "19b927da5bb8c6fc28b2667e57eda7eb", + "size": "69221812" + }, + "linux-ppc64le": { + "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.3.2.107-archive.tar.xz", + "sha256": "1f216cdda56463d333ffe4d52cf18283b3a8d917737698f5c8ed5851120f119a", + "md5": "6b3ac8f0889f968c34e6fe903340ff5c", + "size": "69348116" + }, + "linux-sbsa": { + "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.3.2.107-archive.tar.xz", + "sha256": "6feba029d8838d17345c38d77b6cd0e7853934106edcc5d5f6ec57646b499d28", + "md5": "55492c175f1a152df54365544e2b582d", + "size": "68661512" + }, + "windows-x86_64": { + "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.3.2.107-archive.zip", + "sha256": "325684ebefb24f7a47c5868a87f8dc38c88812c12f113bd57029b3a715c95405", + "md5": "8936a0967f4178e7170f9e55fa4e6cd3", + "size": "98405802" + } + }, + "libcusparse": { + "name": "CUDA cuSPARSE", + "license": "CUDA Toolkit", + "version": "11.7.0.107", + "linux-x86_64": { + "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-11.7.0.107-archive.tar.xz", + "sha256": "9e768d6278df1b2323e2708bbf53af0bdb2955c0c4688eb69d5e418aea3a9b41", + "md5": "c7653a07b2388d887c4e6b3ac1afafb4", + "size": "181259248" + }, + "linux-ppc64le": { + "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-11.7.0.107-archive.tar.xz", + "sha256": "f01d662635d7b2001ace6122058159c9583c61db3fc5849a8ae025b9963657ec", + "md5": "91b9e100ce9bae17ea08d97152184e44", + "size": "181408304" + }, + "linux-sbsa": { + "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-11.7.0.107-archive.tar.xz", + "sha256": "88de7ce848b929439ba1fa1baf487ec56fedc39f8042a862c2f5522fbc1e82a2", + "md5": "aec6e62aeff853dff5a150e2d0ca8aa1", + "size": "181074920" + }, + "windows-x86_64": { + "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-11.7.0.107-archive.zip", + "sha256": "365a0316da888e0b8cc17b3e958b24b9faefa35e6b5fded7d9083483c1f0c097", + "md5": "3c870ec7f8fc23130c66f989afd16a8e", + "size": "149810382" + } + }, + "libnpp": { + "name": "CUDA NPP", + "license": "CUDA Toolkit", + "version": "11.5.1.107", + "linux-x86_64": { + "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-11.5.1.107-archive.tar.xz", + "sha256": "5c6bcb73d6e2426e7369e5157387e02f70db3e94b2351c447ce559cba57e36f4", + "md5": "762faaa53a62272ba508188779fc43f6", + "size": "156693812" + }, + "linux-ppc64le": { + "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-11.5.1.107-archive.tar.xz", + "sha256": "cf2cbc740d9c111d9d266737f62ba4b44cfc84590fe1f9f4bf848b0908296971", + "md5": "e284bab2afa99d9654c1b97ae407434f", + "size": "156937760" + }, + "linux-sbsa": { + "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-11.5.1.107-archive.tar.xz", + "sha256": "cd86f76d41010e7fd37804ba102ec6896de4e51a2724cf44b9e7b22c1aa86429", + "md5": "037ada0cfe8cb4885ceb07eb3423f789", + "size": "156056260" + }, + "windows-x86_64": { + "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-11.5.1.107-archive.zip", + "sha256": "3ef847675b5cecdd70ede5216b91530bff152478441dc4b1e0d73bfcdb586a06", + "md5": "d04eed9ff4432bc48f0afae802841793", + "size": "121933476" + } + }, + "libnvidia_nscq": { + "name": "NVIDIA NSCQ API", + "license": "NVIDIA Driver", + "version": "495.29.05", + "linux-x86_64": { + "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-495.29.05-archive.tar.xz", + "sha256": "19e036898474c89697c4adf4958daa241c07b6d9c9f6623190dd7a3b667a4c6b", + "md5": "733c3a1ef5c33e4b4ccfaad11b514a98", + "size": "316860" + } + }, + "libnvjpeg": { + "name": "CUDA nvJPEG", + "license": "CUDA Toolkit", + "version": "11.5.4.107", + "linux-x86_64": { + "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-11.5.4.107-archive.tar.xz", + "sha256": "3943941f449e8a9aea465e26a25f3d0315e45a57c5ab993f1d15dac7453dcffc", + "md5": "6459aa39efda628e4de36caafc938158", + "size": "1902936" + }, + "linux-ppc64le": { + "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-11.5.4.107-archive.tar.xz", + "sha256": "760295c056951752ba7f4a5a56f4e5afe1538eafbc8ea01c21abe9b8bbd3f09e", + "md5": "ee70cf1d8888bd696b34eb9981c865af", + "size": "1924452" + }, + "linux-sbsa": { + "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-11.5.4.107-archive.tar.xz", + "sha256": "4dbc3c0da37ce108faadcaebbe72335984a60ed055b29fa56edfd89aad9d89cc", + "md5": "54f25526b1d95a5e2a02ddc33eaf1ada", + "size": "1735520" + }, + "windows-x86_64": { + "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-11.5.4.107-archive.zip", + "sha256": "50bb7bdd84a8ec74d4b2e2a133d8dd0474aa4224c3e7643ed75a7864cf705df6", + "md5": "ef86aa6770eba3dc31a33698b600507b", + "size": "1941889" + } + }, + "nsight_compute": { + "name": "Nsight Compute", + "license": "NVIDIA SLA", + "version": "2021.3.1.4", + "linux-x86_64": { + "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2021.3.1.4-archive.tar.xz", + "sha256": "75cd4ca50472c8e4d6729e2f319a2e2f225c21450e868169608eaf1651de7cfd", + "md5": "d4de103a4cce16501323ab22da3a5d3f", + "size": "409065700" + }, + "linux-ppc64le": { + "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2021.3.1.4-archive.tar.xz", + "sha256": "326be8ea63091f14e7de7cf11d5c8e465200770518dccafc45ade7583e42e049", + "md5": "0a34928121b5518075a3a50919f94999", + "size": "123353872" + }, + "linux-sbsa": { + "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2021.3.1.4-archive.tar.xz", + "sha256": "f846e7f443df58dd03ad7da27483dc159715bdf1e260200499bc1ba4f9e2ab17", + "md5": "6a22972b8771101d334cdd0f65785727", + "size": "120013812" + }, + "windows-x86_64": { + "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2021.3.1.4-archive.zip", + "sha256": "6bb1bb69aa8976e8d60a23e25784967628a19622b779b4c5f44a1a5b10b6b312", + "md5": "b3f1e03bf4b2b054287ae3ac9b693052", + "size": "347770366" + } + }, + "nsight_nvtx": { + "name": "Nsight NVTX", + "license": "CUDA Toolkit", + "version": "1.21018621", + "windows-x86_64": { + "relative_path": "nsight_nvtx/windows-x86_64/nsight_nvtx-windows-x86_64-1.21018621-archive.zip", + "sha256": "d99b015bfb1308206f9d7c16ea401bf426fed3a5a99953b855fe4e68be5ed2d1", + "md5": "34ee04d45cfca1c4e3cbfba0ec8f6f80", + "size": "315692" + } + }, + "nsight_systems": { + "name": "Nsight Systems", + "license": "NVIDIA SLA", + "version": "2021.3.3.2", + "linux-x86_64": { + "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2021.3.3.2-archive.tar.xz", + "sha256": "89833f6e45c16c46612ec8ef2b7eab4a949ed86f0a75ebd673548d2ec15bf5bb", + "md5": "4e42508a7365bffca7c574afc1095fb2", + "size": "177789420" + }, + "linux-ppc64le": { + "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2021.3.3.2-archive.tar.xz", + "sha256": "39e59ff32decff6032df0d735dfe6004e5d543d52d212cd2743e5941900c1a52", + "md5": "56f46452fef6ddceb91121c6a3da78af", + "size": "22565096" + }, + "linux-sbsa": { + "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2021.3.3.2-archive.tar.xz", + "sha256": "292bf43aac5c870be38c28aa536c01b6692ede682b9790622fc7a8862b143b0d", + "md5": "33aead87216f96a372db125f67e6f675", + "size": "34536232" + }, + "windows-x86_64": { + "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2021.3.3.2-archive.zip", + "sha256": "c9c67a83bbfc0bbdcd30391cf3fa285f813f3b8d6dc088c4225a5ca7ccac38a2", + "md5": "ab69a73835e658ac2871160daa01fa50", + "size": "229359100" + } + }, + "nsight_vse": { + "name": "Nsight Visual Studio Edition (VSE)", + "license": "NVIDIA SLA", + "version": "2021.3.1.21308", + "windows-x86_64": { + "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2021.3.1.21308-archive.zip", + "sha256": "ba659a0071bac9a2218c3b5f504c8fbe961f828df27361ed897c0dd41b53f71a", + "md5": "720962c80b8aa09fb496014eb7f25e41", + "size": "284695569" + } + }, + "nvidia_driver": { + "name": "NVIDIA Linux Driver", + "license": "NVIDIA Driver", + "version": "495.29.05", + "linux-x86_64": { + "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-495.29.05-archive.tar.xz", + "sha256": "6a0675a60fde511573362490c290ca71b2bf111dd85c9ca16a7ed9786c15961f", + "md5": "04805f93ad0db2b845584c65aea21f3c", + "size": "280281252" + }, + "linux-ppc64le": { + "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-495.29.05-archive.tar.xz", + "sha256": "70c99be31356f0620971f335cfc9886fe3d6097182c5b823c85ec15758e08933", + "md5": "9ed9d400e2ef25b321a4709052b436e4", + "size": "69613620" + }, + "linux-sbsa": { + "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-495.29.05-archive.tar.xz", + "sha256": "625c72d1d1e14d97c90b3fb8c6d5f7ac3d1649caa10cef1aa13239163672046e", + "md5": "dbc65a82959790a387b1f343481101b4", + "size": "210257752" + } + }, + "nvidia_fs": { + "name": "NVIDIA filesystem", + "license": "CUDA Toolkit", + "version": "2.9.5", + "linux-x86_64": { + "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.9.5-archive.tar.xz", + "sha256": "fd31bcf21b2244f217f9ffaa64cda9c066ed06d68b30925d520f2096a0400b2c", + "md5": "8d66bf76c611305a54e03a0a75ecdcda", + "size": "68004" + } + }, + "visual_studio_integration": { + "name": "CUDA Visual Studio Integration", + "license": "CUDA Toolkit", + "version": "11.5.114", + "windows-x86_64": { + "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-11.5.114-archive.zip", + "sha256": "fecbef30b4af477da75087f5bdd70dfc6ae4d821ac2bda3f0a50c058fe71813b", + "md5": "15a9e0f0ec782b7ba70b564e27e8c264", + "size": "387859" + } + } +} diff --git a/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.6.2.json b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.6.2.json new file mode 100644 index 00000000000..3de6bb9f6ef --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/redist/manifests/redistrib_11.6.2.json @@ -0,0 +1,873 @@ +{ + "release_date": "2022-03-24", + "cuda_cccl": { + "name": "CXX Core Compute Libraries", + "license": "CUDA Toolkit", + "version": "11.6.55", + "linux-x86_64": { + "relative_path": "cuda_cccl/linux-x86_64/cuda_cccl-linux-x86_64-11.6.55-archive.tar.xz", + "sha256": "14aee04c86a47321b9fee1c86c9a640be7729ed8063663ed0c7dafdd77fb18f5", + "md5": "e90bbf846f635ea84290fb518e62e838", + "size": "1002296" + }, + "linux-ppc64le": { + "relative_path": "cuda_cccl/linux-ppc64le/cuda_cccl-linux-ppc64le-11.6.55-archive.tar.xz", + "sha256": "cdaa96fc3afe7c552ce31d5b2328072edfbce6c85018455c9e90a572187e84eb", + "md5": "c2178d1d3557c0801c654ff8a9cd2261", + "size": "1002552" + }, + "linux-sbsa": { + "relative_path": "cuda_cccl/linux-sbsa/cuda_cccl-linux-sbsa-11.6.55-archive.tar.xz", + "sha256": "6de184be2cee64b278befc0839d0b08104f19f6d15358e3bd8a92cefca552e20", + "md5": "78244bc649923a7bdf13ae43391d57a3", + "size": "1001980" + }, + "windows-x86_64": { + "relative_path": "cuda_cccl/windows-x86_64/cuda_cccl-windows-x86_64-11.6.55-archive.zip", + "sha256": "badc95a0e47e9c2866ebf970dae757c827b91c27820fc75dc28a459c0014bb2f", + "md5": "b3a7384be4e8096125956cbb2d5b8406", + "size": "2559109" + } + }, + "cuda_cudart": { + "name": "CUDA Runtime (cudart)", + "license": "CUDA Toolkit", + "version": "11.6.55", + "linux-x86_64": { + "relative_path": "cuda_cudart/linux-x86_64/cuda_cudart-linux-x86_64-11.6.55-archive.tar.xz", + "sha256": "734a77b3a26a9d08489d43afb74bad230c7c4a0ed2d17a6317a47cf363dca521", + "md5": "7bfd91b0267ce3cebf56bdba03bd99a9", + "size": "841896" + }, + "linux-ppc64le": { + "relative_path": "cuda_cudart/linux-ppc64le/cuda_cudart-linux-ppc64le-11.6.55-archive.tar.xz", + "sha256": "96b9b708bd9f636fe60ae811a09a6bbb0d66c72045eb82dff7f4bbf7b6714110", + "md5": "67b819cb88f54a3133bc44f35b94e5b8", + "size": "786292" + }, + "linux-sbsa": { + "relative_path": "cuda_cudart/linux-sbsa/cuda_cudart-linux-sbsa-11.6.55-archive.tar.xz", + "sha256": "ae0ba7295280c4b2f2a217bc79cc604a3beb20484011dd2db604507f31fde0a7", + "md5": "3db43585c175429e7670592684500df3", + "size": "785420" + }, + "windows-x86_64": { + "relative_path": "cuda_cudart/windows-x86_64/cuda_cudart-windows-x86_64-11.6.55-archive.zip", + "sha256": "d73be9aa0d66b282e94c75032763249a753efb9d63de891ae9a1c4a62ed1aca1", + "md5": "35057ff81c5ff246c2198c18476c36ea", + "size": "2938345" + } + }, + "cuda_cuobjdump": { + "name": "cuobjdump", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_cuobjdump/linux-x86_64/cuda_cuobjdump-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "625c7ce21089a52ae6b0a9a6b7d112b98f219cdcf451b94e6f7e523c437d5db1", + "md5": "973f41a831d158256b19b6768e4d0331", + "size": "112708" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuobjdump/linux-ppc64le/cuda_cuobjdump-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "36c51224b98b7d040f41240cb12f6b43f61f334de3d6cc26d8ca3f35b50df68e", + "md5": "5f773be10cc49868534eccaf9bb98f86", + "size": "117668" + }, + "linux-sbsa": { + "relative_path": "cuda_cuobjdump/linux-sbsa/cuda_cuobjdump-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "1ea90073f8769a8e5a16b4b18245c77fd217ff8d5d484f33475bebda046e5ff5", + "md5": "548c27670912ae14840d897ffb8b2ecb", + "size": "101720" + }, + "windows-x86_64": { + "relative_path": "cuda_cuobjdump/windows-x86_64/cuda_cuobjdump-windows-x86_64-11.6.124-archive.zip", + "sha256": "609599e7fc20e20cf53e2cf4f2618e467cb1bc00dcb9d09520cd2251bd3056a7", + "md5": "5def9ac8588bcb15eeed361f2bdd78db", + "size": "2539928" + } + }, + "cuda_cupti": { + "name": "CUPTI", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_cupti/linux-x86_64/cuda_cupti-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "e56a68900e08dc1165cc8efabba1073087ebd5d8742cd16ef463cb3638b5d1a8", + "md5": "1c7d94a562519c1b92b8640606fc1ca4", + "size": "16027484" + }, + "linux-ppc64le": { + "relative_path": "cuda_cupti/linux-ppc64le/cuda_cupti-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "aac47225b052fd5c316816400a0e4470a8257e3894526e85c1155c81088314e5", + "md5": "cc15ff34145b7ad8d7b0a7fd9ef0ae28", + "size": "8532396" + }, + "linux-sbsa": { + "relative_path": "cuda_cupti/linux-sbsa/cuda_cupti-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "8e45eac6e94938de807c44d2f846a0e8996a065b0817c2119948193fec279ca6", + "md5": "fc9530922d0adafcea054efcdaf7579e", + "size": "8370644" + }, + "windows-x86_64": { + "relative_path": "cuda_cupti/windows-x86_64/cuda_cupti-windows-x86_64-11.6.124-archive.zip", + "sha256": "ff7d4d4d7a83b2fe1bb3b964a44fdc29261470b239fc9c113e91e6b1bf1e9707", + "md5": "ac8391077028cc3eb3775d3eb4099865", + "size": "11384612" + } + }, + "cuda_cuxxfilt": { + "name": "CUDA cuxxfilt (demangler)", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_cuxxfilt/linux-x86_64/cuda_cuxxfilt-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "3233b1dc13802701821a2cdebdcee5908ae03c63f457b8574ae1798c75245375", + "md5": "cbef12e45924009f5a6160fcc438fe42", + "size": "185732" + }, + "linux-ppc64le": { + "relative_path": "cuda_cuxxfilt/linux-ppc64le/cuda_cuxxfilt-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "1f9d5f7093b6738452bc8311ce6fb13b9a59ede1c6f5476166237a3338002cc4", + "md5": "4dddd337619ee17921f1562a7d98b7d1", + "size": "182032" + }, + "linux-sbsa": { + "relative_path": "cuda_cuxxfilt/linux-sbsa/cuda_cuxxfilt-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "89aea00186991c56d4acc6e9ced0f3e8d9eeca991c8fc1fbc6db1ffc8be17f36", + "md5": "7f9874d247e48d29778e2750be23b1f1", + "size": "172524" + }, + "windows-x86_64": { + "relative_path": "cuda_cuxxfilt/windows-x86_64/cuda_cuxxfilt-windows-x86_64-11.6.124-archive.zip", + "sha256": "b1e3ce998310240e60355e75aa3ad6b166fda5cae2c9e59573691f3f6b125ed8", + "md5": "2941018da652cbdb255c644532d00e50", + "size": "168845" + } + }, + "cuda_demo_suite": { + "name": "CUDA Demo Suite", + "license": "CUDA Toolkit", + "version": "11.6.55", + "linux-x86_64": { + "relative_path": "cuda_demo_suite/linux-x86_64/cuda_demo_suite-linux-x86_64-11.6.55-archive.tar.xz", + "sha256": "82da6b7346257c94bf5ad25c93d5bf54eaf97a224b212bd166179a2e3d93f8a1", + "md5": "8330c6571b66865c587755e6c922c213", + "size": "3996208" + }, + "windows-x86_64": { + "relative_path": "cuda_demo_suite/windows-x86_64/cuda_demo_suite-windows-x86_64-11.6.55-archive.zip", + "sha256": "0c4c3be4f185fb9ddf2bb3f012ad506e7a23e39634f685ffe59fac01435b4eef", + "md5": "0e536ea97e3e685e9a73170ca1e693f1", + "size": "5021636" + } + }, + "cuda_documentation": { + "name": "CUDA Documentation", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_documentation/linux-x86_64/cuda_documentation-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "75a2082caebc02b82ac899c354abd810f2bcd012476ace25fbe56ad78c5bd566", + "md5": "a7eade47d3e3821d7b1a67c9afc1f490", + "size": "66348" + }, + "linux-ppc64le": { + "relative_path": "cuda_documentation/linux-ppc64le/cuda_documentation-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "a51b38d9925ec6564b26b922f3ef15b3781b9017c056beaa589d9e15384e9994", + "md5": "4d906f72e586f8ca216118730e9880be", + "size": "66572" + }, + "linux-sbsa": { + "relative_path": "cuda_documentation/linux-sbsa/cuda_documentation-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "78f6d84ea1cba3547c3f094873062d18d30a1a45cf0af8d89b3dd4c4b03f111e", + "md5": "0af218b799f48e8469fad088cd2c9017", + "size": "66404" + }, + "windows-x86_64": { + "relative_path": "cuda_documentation/windows-x86_64/cuda_documentation-windows-x86_64-11.6.124-archive.zip", + "sha256": "a4e0d6fc04ead69db208912487303a996dea1f37eeb7b3caff664dca10cf42a8", + "md5": "f055cb3244441fb9785cb38354d22af8", + "size": "104626" + } + }, + "cuda_gdb": { + "name": "CUDA GDB", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_gdb/linux-x86_64/cuda_gdb-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "95dd2cbf756a2fd3bcb8c9aa71b6ba4ee385430749b9c626849f7cc4ec6e8f29", + "md5": "ba6a284942d5c1d977fc08eb28bff3f9", + "size": "64257284" + }, + "linux-ppc64le": { + "relative_path": "cuda_gdb/linux-ppc64le/cuda_gdb-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "4aaf9142728e8908db14b23af9e8bcdd77825a80e628ca8be9e0392c997ecf0a", + "md5": "30c6bac5a3c72d7f503c7cd98d644b3b", + "size": "64138892" + }, + "linux-sbsa": { + "relative_path": "cuda_gdb/linux-sbsa/cuda_gdb-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "5206bb2a6eb4978ddc7732689d3b94e6b1dd2d655ed6d95a514dd67404d727a4", + "md5": "647cc2598ee0a2d42993b31318c5fc25", + "size": "64040212" + } + }, + "cuda_memcheck": { + "name": "CUDA Memcheck", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_memcheck/linux-x86_64/cuda_memcheck-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "5f0983c0945315d4a7beea92793aae4ffac72832870857345e9645edddc2f35b", + "md5": "8db021e48b154f9194f280728b41512e", + "size": "139868" + }, + "linux-ppc64le": { + "relative_path": "cuda_memcheck/linux-ppc64le/cuda_memcheck-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "67cb7a5ef1b411864f0af3fc429e74570f8920c3883ee80e1b1989746ffa11cc", + "md5": "af50c409bb97fc1b724b1129bd823fda", + "size": "147996" + }, + "windows-x86_64": { + "relative_path": "cuda_memcheck/windows-x86_64/cuda_memcheck-windows-x86_64-11.6.124-archive.zip", + "sha256": "58844652c2ddfe700348b08ef04c8385d8bbf36b89a421ecdcc774667ad04a0d", + "md5": "dcc37dfd92fe296f1563e6b519872725", + "size": "172867" + } + }, + "cuda_nsight": { + "name": "Nsight Eclipse Edition Plugin", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_nsight/linux-x86_64/cuda_nsight-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "771511b1fedd8b0d684b1fa6c6ff8feacaa0e38010a3f0fba4a02087e0756cbf", + "md5": "51dd87c3625354ef7c7f73689d06c5d4", + "size": "118602976" + }, + "linux-ppc64le": { + "relative_path": "cuda_nsight/linux-ppc64le/cuda_nsight-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "07b28f88581db1ea1769a89d5fa23af298a385ff4feb14f8dbe801d9cb05a098", + "md5": "418edda7b00500c49cf0731f5ae75c2b", + "size": "118602980" + } + }, + "cuda_nvcc": { + "name": "CUDA NVCC", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_nvcc/linux-x86_64/cuda_nvcc-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "8c81199c5a096869a10c284197cefc1a958df8bf482322a0a48dff9cc82291b8", + "md5": "c05aebe81d33e6850bceee7a36f8f2a5", + "size": "36764236" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvcc/linux-ppc64le/cuda_nvcc-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "d63f1cf84896e16e0a90c97bab56f77a88449233025299ee96a7997b9522fb0f", + "md5": "2dfc257209fcb7773b8f0664abf3d0af", + "size": "34593028" + }, + "linux-sbsa": { + "relative_path": "cuda_nvcc/linux-sbsa/cuda_nvcc-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "cdca0d230967ccf227063841ae984704a1812663bd0074e400eee57ba47d99a9", + "md5": "24cd10d3274df8ca62297a097b9edf92", + "size": "32366400" + }, + "windows-x86_64": { + "relative_path": "cuda_nvcc/windows-x86_64/cuda_nvcc-windows-x86_64-11.6.124-archive.zip", + "sha256": "ab39ba1495ebe474fb74cea2b520bc4a3c80e6953ebf774c6cd4058c50be94e1", + "md5": "5f85971067866e0c8c8af33fb2e4c432", + "size": "46956615" + } + }, + "cuda_nvdisasm": { + "name": "CUDA nvdisasm", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_nvdisasm/linux-x86_64/cuda_nvdisasm-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "1645505394a9d186741c7c2e07dea05fc1852bfa6a0663fdc53176ffaedff548", + "md5": "55d1a19ce1ad9de70ea6e620fff8c3d2", + "size": "32786504" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvdisasm/linux-ppc64le/cuda_nvdisasm-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "972744cd85dcb48fb0d313c7deabee246702e7d35443f96503a56ddee1904d00", + "md5": "9690d65addaa1a6c43800570e15d9645", + "size": "32788856" + }, + "linux-sbsa": { + "relative_path": "cuda_nvdisasm/linux-sbsa/cuda_nvdisasm-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "d4e5e3eef98659f3d1464576d3ec715469918def222cf7f84851ba06716fa8dd", + "md5": "b5430097ec81b02d7e5c1e6eabd3c801", + "size": "32715804" + }, + "windows-x86_64": { + "relative_path": "cuda_nvdisasm/windows-x86_64/cuda_nvdisasm-windows-x86_64-11.6.124-archive.zip", + "sha256": "e318fc6ae9b33e6cc657c655a0c1eff5f56828abbea208728619c9bdfc59eb7d", + "md5": "ca2d64b77bcbf3c6aa9fa53b552ca63b", + "size": "32999132" + } + }, + "cuda_nvml_dev": { + "name": "CUDA NVML Headers", + "license": "CUDA Toolkit", + "version": "11.6.55", + "linux-x86_64": { + "relative_path": "cuda_nvml_dev/linux-x86_64/cuda_nvml_dev-linux-x86_64-11.6.55-archive.tar.xz", + "sha256": "12cbd1279ffe240396cba3c7d8e27fe9b4ee0e0db81850b29462544d83ca23c0", + "md5": "e91c008f71ee4eda2dc32c9a51e6b479", + "size": "74380" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvml_dev/linux-ppc64le/cuda_nvml_dev-linux-ppc64le-11.6.55-archive.tar.xz", + "sha256": "6134b127d84ec38c3d496d34214500e22bc455dd13677a957d6d1e2787a27950", + "md5": "56adc2658a5d9e7ac72be9769b0b4d96", + "size": "73936" + }, + "linux-sbsa": { + "relative_path": "cuda_nvml_dev/linux-sbsa/cuda_nvml_dev-linux-sbsa-11.6.55-archive.tar.xz", + "sha256": "72dbcd80bb8acf675c924fbafa9462122743e37aa51a147f3e07cf0d34044292", + "md5": "491a21dab70c5d4b3dc8145df7737b1b", + "size": "74440" + }, + "windows-x86_64": { + "relative_path": "cuda_nvml_dev/windows-x86_64/cuda_nvml_dev-windows-x86_64-11.6.55-archive.zip", + "sha256": "35dbf8f8f2974973a52b3363fa3936ce952ce94dc2aabca9aaf1f79039a633b9", + "md5": "4dec589b69ec53618f86d35418b0edb5", + "size": "103281" + } + }, + "cuda_nvprof": { + "name": "CUDA nvprof", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_nvprof/linux-x86_64/cuda_nvprof-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "2c05600562bcbe4841cd0d86fdbf2fecba36c54ad393979cb22653dd45487a9b", + "md5": "e22c5dd6199769553ef43ce71e4dae0d", + "size": "1943508" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprof/linux-ppc64le/cuda_nvprof-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "39d891bc85c431551d039a23d249f0c87b723a0d0683a5bf689f2fa4b3cdffd8", + "md5": "faf88332bafdfece1c5e63001271dc9e", + "size": "1598652" + }, + "linux-sbsa": { + "relative_path": "cuda_nvprof/linux-sbsa/cuda_nvprof-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "3e3275bd148fa1c3a73ef468c2a1e633fe736cb1b1c834a2693a177be9e3cbc9", + "md5": "abd2a3edafc9e1a069844559ca0b6352", + "size": "16148" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprof/windows-x86_64/cuda_nvprof-windows-x86_64-11.6.124-archive.zip", + "sha256": "4c965334058241f8d3cff2d1d8f37d8745796c0913e8fc440673dcc55c630808", + "md5": "85f85e5eb14b46756f67413e45237a8c", + "size": "1603422" + } + }, + "cuda_nvprune": { + "name": "CUDA nvprune", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_nvprune/linux-x86_64/cuda_nvprune-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "0b1f79447efedef09c54d517eff994995b36d486f642379fd278ddbb4d29f5ea", + "md5": "644603927c6d326fb5fd4e6e3e23aa67", + "size": "55168" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvprune/linux-ppc64le/cuda_nvprune-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "5c6bd788e9575fc09f9e687b15123ad4bdde25008425c7f0108e319a952f5273", + "md5": "065bc537a28f5b8ccf546af677391e7a", + "size": "55876" + }, + "linux-sbsa": { + "relative_path": "cuda_nvprune/linux-sbsa/cuda_nvprune-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "6b9c0df46418b682497feeac9cf56edfc5679e06d60a94158732aac125aa560d", + "md5": "e547bc9e771de95ccac8f5945a7c6ed9", + "size": "47532" + }, + "windows-x86_64": { + "relative_path": "cuda_nvprune/windows-x86_64/cuda_nvprune-windows-x86_64-11.6.124-archive.zip", + "sha256": "991f7574ef06eef1f63e94af188d48e360b7ffcebe6fe5b9e088d91b6579009e", + "md5": "cb3517ad769c0b0935a76fac1a976f91", + "size": "144822" + } + }, + "cuda_nvrtc": { + "name": "CUDA NVRTC", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "9086e9f0ac56337d8e80d3cd1d78f79633f8725cdd0bb5a9864311a2ba95c1e0", + "md5": "01bf28fce5c9140190d9750e1585e7a8", + "size": "27889392" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvrtc/linux-ppc64le/cuda_nvrtc-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "68b89b68b820c87e32c830b95c7496f814854d213997701f6c0abe78827aa184", + "md5": "ab3a2658922c08ed944889f61d634224", + "size": "26054036" + }, + "linux-sbsa": { + "relative_path": "cuda_nvrtc/linux-sbsa/cuda_nvrtc-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "140d6587924f95fa6a9fbd7ad9a2d57b276ae71f1738b2b6bebfd0a8317b7e6d", + "md5": "b29a768f5bcbf995e8ee1e8bc6c6fd34", + "size": "25908284" + }, + "windows-x86_64": { + "relative_path": "cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-11.6.124-archive.zip", + "sha256": "ea5d8de24af80840bcf7d8f91ab1385366ca736485c52910fe269f845711b28f", + "md5": "dc650c5a417e7532633408809c10900a", + "size": "92877744" + } + }, + "cuda_nvtx": { + "name": "CUDA NVTX", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_nvtx/linux-x86_64/cuda_nvtx-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "02a4fe16e715f6f9d3d6e25a5504c8a2cccab52da40ebbcf21919f002a0ac951", + "md5": "f9b29c3d4034abb5316220674ad3796c", + "size": "48124" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvtx/linux-ppc64le/cuda_nvtx-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "fc65a9caca20c892b4bd4f2b6e635e501582fe10474cb3d2ba6f7ed50b2860c1", + "md5": "52a5a1846fc0c83072712e969329af75", + "size": "48140" + }, + "linux-sbsa": { + "relative_path": "cuda_nvtx/linux-sbsa/cuda_nvtx-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "f0e7d4f1824ff125b23cb48d37d76034c9daff787cef08316188219269df8220", + "md5": "a67329ea6a2171272a9d1bd36933977f", + "size": "48708" + }, + "windows-x86_64": { + "relative_path": "cuda_nvtx/windows-x86_64/cuda_nvtx-windows-x86_64-11.6.124-archive.zip", + "sha256": "9e82e18c38ed82aa5beb8aedf4a04770b59ad73113ac9e4e5c4e1e68dc999dad", + "md5": "853296d1ab5efa56a0290c1fc18ff82f", + "size": "65732" + } + }, + "cuda_nvvp": { + "name": "CUDA NVVP", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_nvvp/linux-x86_64/cuda_nvvp-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "bc7ec46b93ce7f8c2399a4d8840e7ed7961a784ef462eaa94c66d81e9725286b", + "md5": "892580326407fc2b16abaa72d05f27e9", + "size": "114308284" + }, + "linux-ppc64le": { + "relative_path": "cuda_nvvp/linux-ppc64le/cuda_nvvp-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "672e016a3127ec28d4ddf063bd91baab482c34dd073d839e45fc3c50c1466705", + "md5": "c6eb99303f62d4c3c6d240b8f00f2f0f", + "size": "113832776" + }, + "windows-x86_64": { + "relative_path": "cuda_nvvp/windows-x86_64/cuda_nvvp-windows-x86_64-11.6.124-archive.zip", + "sha256": "374c183ddd5a127a0973fbf2e3dd0cb89d9968ca77bfeab8a3f44529fdc326a4", + "md5": "9f00a05cd166bd92a0ae5cc051540e55", + "size": "120342885" + } + }, + "cuda_sanitizer_api": { + "name": "CUDA Compute Sanitizer API", + "license": "CUDA Toolkit", + "version": "11.6.124", + "linux-x86_64": { + "relative_path": "cuda_sanitizer_api/linux-x86_64/cuda_sanitizer_api-linux-x86_64-11.6.124-archive.tar.xz", + "sha256": "a6d81ec79be73fe23c7cd16054e9f0494e82dd14ee77ef07c4819af6248c5bfa", + "md5": "31816ee26b4fdd9c0c4f8e85cf723868", + "size": "7988992" + }, + "linux-ppc64le": { + "relative_path": "cuda_sanitizer_api/linux-ppc64le/cuda_sanitizer_api-linux-ppc64le-11.6.124-archive.tar.xz", + "sha256": "3c39b6e7a23c19f91f5d25a2a2d752a15407eddc460c1c56a8e7ae7f8864ec4f", + "md5": "266196017ee59c3058c6c0ffc035ebe0", + "size": "7404564" + }, + "linux-sbsa": { + "relative_path": "cuda_sanitizer_api/linux-sbsa/cuda_sanitizer_api-linux-sbsa-11.6.124-archive.tar.xz", + "sha256": "d7c55c5a600782d3aa10b5a3a898445a57997394ea626e2e4789f7923a927334", + "md5": "4f3a68e4fa789ba3dcbb7e12bd77abf7", + "size": "6123224" + }, + "windows-x86_64": { + "relative_path": "cuda_sanitizer_api/windows-x86_64/cuda_sanitizer_api-windows-x86_64-11.6.124-archive.zip", + "sha256": "24d24151b77b1051be2035176475f33d2b260c8a20a3fe1af99ca312490721a8", + "md5": "dc713ceb5f52e2936df2146693e2bdde", + "size": "13126684" + } + }, + "fabricmanager": { + "name": "NVIDIA Fabric Manager", + "license": "NVIDIA Driver", + "version": "510.47.03", + "linux-x86_64": { + "relative_path": "fabricmanager/linux-x86_64/fabricmanager-linux-x86_64-510.47.03-archive.tar.xz", + "sha256": "d5c7204160f7b2c688932f90648995bd3bf3a821d99161cefb7e7a9539e22a6f", + "md5": "43dc2904ab88fba0739c8265466f0972", + "size": "1528776" + } + }, + "libcublas": { + "name": "CUDA cuBLAS", + "license": "CUDA Toolkit", + "version": "11.9.2.110", + "linux-x86_64": { + "relative_path": "libcublas/linux-x86_64/libcublas-linux-x86_64-11.9.2.110-archive.tar.xz", + "sha256": "ea2395ea76a811498863774491721d5c4b491fd1498221ef7cb1ae514e6518cb", + "md5": "e46be77087fc85134fb7c85a158f6964", + "size": "434133064" + }, + "linux-ppc64le": { + "relative_path": "libcublas/linux-ppc64le/libcublas-linux-ppc64le-11.9.2.110-archive.tar.xz", + "sha256": "81c729d78ef775958a0aadf2a02ee7f56d826e9b4130d564b9ea92aed6f2998d", + "md5": "658162cbc2982de03d0703400ee8a2b8", + "size": "434108428" + }, + "linux-sbsa": { + "relative_path": "libcublas/linux-sbsa/libcublas-linux-sbsa-11.9.2.110-archive.tar.xz", + "sha256": "8201009b6df0924d599731bcf309190b8e8e3c1eebff0226f12107ca3f5f86dd", + "md5": "56278d0d28664be11c1e53074cf13432", + "size": "434332668" + }, + "windows-x86_64": { + "relative_path": "libcublas/windows-x86_64/libcublas-windows-x86_64-11.9.2.110-archive.zip", + "sha256": "13f5119c43128ccda66ab092bad4435313cf06cb892247e38cb2ec1d8bc96c90", + "md5": "52b685ec11fd3384e49e84243627a0aa", + "size": "324277131" + } + }, + "libcufft": { + "name": "CUDA cuFFT", + "license": "CUDA Toolkit", + "version": "10.7.2.124", + "linux-x86_64": { + "relative_path": "libcufft/linux-x86_64/libcufft-linux-x86_64-10.7.2.124-archive.tar.xz", + "sha256": "95397578c2d18d5df17dafa42cf34d47821953c6d5c9bdba45c7b673ba07276a", + "md5": "e4b681b1a42bfbbfae92995a244d0f23", + "size": "214961728" + }, + "linux-ppc64le": { + "relative_path": "libcufft/linux-ppc64le/libcufft-linux-ppc64le-10.7.2.124-archive.tar.xz", + "sha256": "db425ae3fccbb68a28f0f461a6a022856081d16d06da3a99e903975a89a5d4b1", + "md5": "e0ffc2b9175cefb33b3df4fc6623d882", + "size": "214897136" + }, + "linux-sbsa": { + "relative_path": "libcufft/linux-sbsa/libcufft-linux-sbsa-10.7.2.124-archive.tar.xz", + "sha256": "b132fc468d46a90baac45f8f0484675cc4552120d5912c9c7612d7346c7db9bf", + "md5": "639a4f80a557168fc7ae222fec491e50", + "size": "214000212" + }, + "windows-x86_64": { + "relative_path": "libcufft/windows-x86_64/libcufft-windows-x86_64-10.7.2.124-archive.zip", + "sha256": "d7a613f9bb647695947cdd0514abed09fb82c0934461cedab629f6471f4adaf7", + "md5": "83aeb1b3eaa9246b2f06f37d94e9f07f", + "size": "287132168" + } + }, + "libcufile": { + "name": "CUDA cuFile", + "license": "CUDA Toolkit", + "version": "1.2.1.4", + "linux-x86_64": { + "relative_path": "libcufile/linux-x86_64/libcufile-linux-x86_64-1.2.1.4-archive.tar.xz", + "sha256": "ebc164ebffee7dbe87ae8cc3e37fcf6499750aa9f7003ea0cc4f3bc7c7f3a56d", + "md5": "ae8cd1900e9947cdb8acdd9726befe29", + "size": "46744444" + } + }, + "libcurand": { + "name": "CUDA cuRAND", + "license": "CUDA Toolkit", + "version": "10.2.9.124", + "linux-x86_64": { + "relative_path": "libcurand/linux-x86_64/libcurand-linux-x86_64-10.2.9.124-archive.tar.xz", + "sha256": "87b1d70ec749db31cabb79ae5034b05883666e1848aa3feca643ea4a68dea47e", + "md5": "e7657f67965d162b519c2471ca0f7c08", + "size": "82095344" + }, + "linux-ppc64le": { + "relative_path": "libcurand/linux-ppc64le/libcurand-linux-ppc64le-10.2.9.124-archive.tar.xz", + "sha256": "162a42c9e98fd3809541a04dc67933b43f2a85d8d9a749ca247d2be049b7c4d8", + "md5": "ba67c380f521a245192fb589cc208edd", + "size": "82140836" + }, + "linux-sbsa": { + "relative_path": "libcurand/linux-sbsa/libcurand-linux-sbsa-10.2.9.124-archive.tar.xz", + "sha256": "c084db363510f6a2f628401494372edc1a841b0fabf95d80e86b852b27a299f5", + "md5": "5021f94b32de1099a52bbfd02d08be17", + "size": "82081332" + }, + "windows-x86_64": { + "relative_path": "libcurand/windows-x86_64/libcurand-windows-x86_64-10.2.9.124-archive.zip", + "sha256": "6bbb3c33f76813a96b1cec51d723d0d53704f3b7fedaf6c29f4c84f1bcb73a4e", + "md5": "4914ba32fc23a9076f51f8755909c258", + "size": "53645700" + } + }, + "libcusolver": { + "name": "CUDA cuSOLVER", + "license": "CUDA Toolkit", + "version": "11.3.4.124", + "linux-x86_64": { + "relative_path": "libcusolver/linux-x86_64/libcusolver-linux-x86_64-11.3.4.124-archive.tar.xz", + "sha256": "adbd0af1f84aea29859c217e028c1a74a5b3a90acce7d679790efd73aff28462", + "md5": "1f7211cc6ae6e8afd1387469a5e9a9a9", + "size": "77918104" + }, + "linux-ppc64le": { + "relative_path": "libcusolver/linux-ppc64le/libcusolver-linux-ppc64le-11.3.4.124-archive.tar.xz", + "sha256": "6b9ab64258e970f6966c133dab767db03dac038cf047641fb677ce9334e53262", + "md5": "f8b2f8280e8863de318212199fe72494", + "size": "78066772" + }, + "linux-sbsa": { + "relative_path": "libcusolver/linux-sbsa/libcusolver-linux-sbsa-11.3.4.124-archive.tar.xz", + "sha256": "bb0dcef4d8c4e076a724d1a0a7258bffb6e9a9c49357716ed70466b3403eb4e3", + "md5": "8fced4d6324195575d28464026d26125", + "size": "77371768" + }, + "windows-x86_64": { + "relative_path": "libcusolver/windows-x86_64/libcusolver-windows-x86_64-11.3.4.124-archive.zip", + "sha256": "80d602eef188a19779b0beabb6f3fd9f8eb52ce8c8c61d31a792351d85053996", + "md5": "123c3e9a0e0933e4c414a28fd382ea7d", + "size": "110462365" + } + }, + "libcusparse": { + "name": "CUDA cuSPARSE", + "license": "CUDA Toolkit", + "version": "11.7.2.124", + "linux-x86_64": { + "relative_path": "libcusparse/linux-x86_64/libcusparse-linux-x86_64-11.7.2.124-archive.tar.xz", + "sha256": "744affcbe5ecc8ca9438f20cf93e43a1648d682f6badfa4494f76ae26a350edc", + "md5": "b663b089be7b8dba687da98ed9fcf1dd", + "size": "218747728" + }, + "linux-ppc64le": { + "relative_path": "libcusparse/linux-ppc64le/libcusparse-linux-ppc64le-11.7.2.124-archive.tar.xz", + "sha256": "97a3abd633cb0c7ce941fdb4f98e82ddd064605c2a864ad4c35eabcca1bfe7c4", + "md5": "6468ea649e2cd9be3541abc0b5a9d7a9", + "size": "218901148" + }, + "linux-sbsa": { + "relative_path": "libcusparse/linux-sbsa/libcusparse-linux-sbsa-11.7.2.124-archive.tar.xz", + "sha256": "4962d79be52338c911fb5612bb2f7562aa41bda0ec474fc096524bf9dd762922", + "md5": "1c49c2c1b950b4c874f4254490da1b82", + "size": "218441052" + }, + "windows-x86_64": { + "relative_path": "libcusparse/windows-x86_64/libcusparse-windows-x86_64-11.7.2.124-archive.zip", + "sha256": "4c33673bb1de12005b26fbf5139b6b9e25fbf4490839205036e060af27c1f789", + "md5": "f32317cca576ab805ec381be38ef225c", + "size": "180394097" + } + }, + "libnpp": { + "name": "CUDA NPP", + "license": "CUDA Toolkit", + "version": "11.6.3.124", + "linux-x86_64": { + "relative_path": "libnpp/linux-x86_64/libnpp-linux-x86_64-11.6.3.124-archive.tar.xz", + "sha256": "be4afe097cc38eea91ef02aea233db9fa3ba7a31bc115fc287e10812441ee5c2", + "md5": "8300ad8d28a906c386f5338187aee660", + "size": "165187052" + }, + "linux-ppc64le": { + "relative_path": "libnpp/linux-ppc64le/libnpp-linux-ppc64le-11.6.3.124-archive.tar.xz", + "sha256": "b55dc9d7e32319a007374cbb191dba1bce1973857a0ae0cc684a4c87e39ac23a", + "md5": "86e2f863047db392473fb438a9112206", + "size": "165756596" + }, + "linux-sbsa": { + "relative_path": "libnpp/linux-sbsa/libnpp-linux-sbsa-11.6.3.124-archive.tar.xz", + "sha256": "dd3fbe515b0bca6393de5829fb675f8fae9bfa23f0cd5e94a87643088935aa32", + "md5": "e62dd0d88f234764c097f8a112f61d35", + "size": "164248860" + }, + "windows-x86_64": { + "relative_path": "libnpp/windows-x86_64/libnpp-windows-x86_64-11.6.3.124-archive.zip", + "sha256": "647e78458636d462698fbdbd26c99d4956c917a25a7fd6d2e516a7035a52c857", + "md5": "bf43f99df8934740762e5dd6e1419198", + "size": "125797073" + } + }, + "libnvidia_nscq": { + "name": "NVIDIA NSCQ API", + "license": "NVIDIA Driver", + "version": "510.47.03", + "linux-x86_64": { + "relative_path": "libnvidia_nscq/linux-x86_64/libnvidia_nscq-linux-x86_64-510.47.03-archive.tar.xz", + "sha256": "187b07fc6dae26f43bd23276acaf8177f15b32831cde4d21df6abfd6915d30c4", + "md5": "d13ca7a0403dd22e9441434b617a2d5f", + "size": "316976" + } + }, + "libnvjpeg": { + "name": "CUDA nvJPEG", + "license": "CUDA Toolkit", + "version": "11.6.2.124", + "linux-x86_64": { + "relative_path": "libnvjpeg/linux-x86_64/libnvjpeg-linux-x86_64-11.6.2.124-archive.tar.xz", + "sha256": "ed9f4be96412134195aecbe15b281f3ac8e9b954e0fc62df9279169cf0e0f50b", + "md5": "dffc64101ced535bf63604421c4afaa8", + "size": "2045660" + }, + "linux-ppc64le": { + "relative_path": "libnvjpeg/linux-ppc64le/libnvjpeg-linux-ppc64le-11.6.2.124-archive.tar.xz", + "sha256": "377f5acfc5c25a983b0c3043b6fb9da7077d4d571481b62b091e162d8d8fe3c5", + "md5": "04f6a60f6c53ce31671e2eeda8f0638e", + "size": "2077792" + }, + "linux-sbsa": { + "relative_path": "libnvjpeg/linux-sbsa/libnvjpeg-linux-sbsa-11.6.2.124-archive.tar.xz", + "sha256": "badbe50dab52403cd152c907c9be7271a25c7e0b2bf7377a1cee13bd63f6c008", + "md5": "7c7fa8c7ca5d129b2f7d775cb4ac96a1", + "size": "1864404" + }, + "windows-x86_64": { + "relative_path": "libnvjpeg/windows-x86_64/libnvjpeg-windows-x86_64-11.6.2.124-archive.zip", + "sha256": "9a04433b80bb5374c0dcf21e1988a66d6d61009dd431668e5ef412baf1167796", + "md5": "99d01192cc9c040b7d2a54ae2b7ea2a3", + "size": "2050577" + } + }, + "nsight_compute": { + "name": "Nsight Compute", + "license": "NVIDIA SLA", + "version": "2022.1.1.2", + "linux-x86_64": { + "relative_path": "nsight_compute/linux-x86_64/nsight_compute-linux-x86_64-2022.1.1.2-archive.tar.xz", + "sha256": "ce3248dc64ec05ad1eb174c7114dda02e3023a4ee9adfe457b662289e3134140", + "md5": "c1d851ebf7528107555861b4fbc83948", + "size": "410930844" + }, + "linux-ppc64le": { + "relative_path": "nsight_compute/linux-ppc64le/nsight_compute-linux-ppc64le-2022.1.1.2-archive.tar.xz", + "sha256": "84c9fdad8865c2c3f505ee781f95b546a8ce5ef712cb43fc856c0c62be9bab24", + "md5": "4e0660c401e2861bd3a5fa81a44c6fbf", + "size": "123752204" + }, + "linux-sbsa": { + "relative_path": "nsight_compute/linux-sbsa/nsight_compute-linux-sbsa-2022.1.1.2-archive.tar.xz", + "sha256": "5016436938039b284d422a27a954e7483cc15a5d33c512525c2ded860c062747", + "md5": "241420674893c0dd375847ece4fa4abc", + "size": "121981328" + }, + "windows-x86_64": { + "relative_path": "nsight_compute/windows-x86_64/nsight_compute-windows-x86_64-2022.1.1.2-archive.zip", + "sha256": "4f709728da79048cc50c6079a5f5dd3b7e35c363163484e7f89f8a2595b8d633", + "md5": "27cdc4affc4d3227905901ae5895e0b4", + "size": "348353793" + } + }, + "nsight_nvtx": { + "name": "Nsight NVTX", + "license": "CUDA Toolkit", + "version": "1.21018621", + "windows-x86_64": { + "relative_path": "nsight_nvtx/windows-x86_64/nsight_nvtx-windows-x86_64-1.21018621-archive.zip", + "sha256": "d99b015bfb1308206f9d7c16ea401bf426fed3a5a99953b855fe4e68be5ed2d1", + "md5": "34ee04d45cfca1c4e3cbfba0ec8f6f80", + "size": "315692" + } + }, + "nsight_systems": { + "name": "Nsight Systems", + "license": "NVIDIA SLA", + "version": "2021.5.2.53", + "linux-x86_64": { + "relative_path": "nsight_systems/linux-x86_64/nsight_systems-linux-x86_64-2021.5.2.53-archive.tar.xz", + "sha256": "27b8c6a171efc5b815035f7e9c9229bdc2c239c1da1956df687f80f78c03c70c", + "md5": "20dcf79c9b387fcc66956182d56fa7ef", + "size": "161956304" + }, + "linux-ppc64le": { + "relative_path": "nsight_systems/linux-ppc64le/nsight_systems-linux-ppc64le-2021.5.2.53-archive.tar.xz", + "sha256": "7c76f0b6e35add162be0a55cb8b673960e2d6e9907875379fd70345c6fbb05d4", + "md5": "5bc90d4adc83492fc65191c9a1e33d41", + "size": "47184992" + }, + "linux-sbsa": { + "relative_path": "nsight_systems/linux-sbsa/nsight_systems-linux-sbsa-2021.5.2.53-archive.tar.xz", + "sha256": "22bd8ec797d2734b701e5bf62ec095d82687a3eb5daf01a7657cd1aab896fc6d", + "md5": "1a4e2b8212f8cef37d16c23c9440f680", + "size": "47348636" + }, + "windows-x86_64": { + "relative_path": "nsight_systems/windows-x86_64/nsight_systems-windows-x86_64-2021.5.2.53-archive.zip", + "sha256": "6cd2caa431d703f1c54eb65cba2508c150ae115c0b20a58f6c96839bcbc23406", + "md5": "07582800aee2a476463f866aa25f8a0a", + "size": "304567470" + } + }, + "nsight_vse": { + "name": "Nsight Visual Studio Edition (VSE)", + "license": "NVIDIA SLA", + "version": "2022.1.1.22006", + "windows-x86_64": { + "relative_path": "nsight_vse/windows-x86_64/nsight_vse-windows-x86_64-2022.1.1.22006-archive.zip", + "sha256": "92c0a591401e085a2ade6688866fa93fb1562d98e4d8321a252b1143e364192a", + "md5": "67304f264ab92d5ac6706fb0bf3f6eac", + "size": "455973381" + } + }, + "nvidia_driver": { + "name": "NVIDIA Linux Driver", + "license": "NVIDIA Driver", + "version": "510.47.03", + "linux-x86_64": { + "relative_path": "nvidia_driver/linux-x86_64/nvidia_driver-linux-x86_64-510.47.03-archive.tar.xz", + "sha256": "668a653cb4e9b89279a31c2fac23306c80b8f2b4b27b4e066cfe322d9347e1b7", + "md5": "b9a80476a86e6186645c37b7a9a7791a", + "size": "327247384" + }, + "linux-ppc64le": { + "relative_path": "nvidia_driver/linux-ppc64le/nvidia_driver-linux-ppc64le-510.47.03-archive.tar.xz", + "sha256": "28c278660d10ba63420990e164aafd866a9907a66323db9570ad1a9ada37ae0f", + "md5": "0a3f82d50ea4ac361eb2def1d763947f", + "size": "73666716" + }, + "linux-sbsa": { + "relative_path": "nvidia_driver/linux-sbsa/nvidia_driver-linux-sbsa-510.47.03-archive.tar.xz", + "sha256": "1f2e0b90621f67477d5bfcd8ff28b01eca9cdb79a2ba911b07671953e44618ad", + "md5": "d555c62d414121623b4906ecb3de06e8", + "size": "211721052" + } + }, + "nvidia_fs": { + "name": "NVIDIA filesystem", + "license": "CUDA Toolkit", + "version": "2.11.0", + "linux-x86_64": { + "relative_path": "nvidia_fs/linux-x86_64/nvidia_fs-linux-x86_64-2.11.0-archive.tar.xz", + "sha256": "ea260e5e8c9df3d4f1448684350a0fa7931dd45918329bda96378b173ea63b24", + "md5": "676b88c768132bd4775c91291af90b55", + "size": "69588" + } + }, + "visual_studio_integration": { + "name": "CUDA Visual Studio Integration", + "license": "CUDA Toolkit", + "version": "11.6.124", + "windows-x86_64": { + "relative_path": "visual_studio_integration/windows-x86_64/visual_studio_integration-windows-x86_64-11.6.124-archive.zip", + "sha256": "0a8e288bb604dc2af766f65042aeb4675a7b15629e71c7c3341d0fd8aab2de91", + "md5": "248f627cccca3ee81c561aaea5193271", + "size": "517139" + } + } +} diff --git a/pkgs/development/compilers/cudatoolkit/redist/overrides.nix b/pkgs/development/compilers/cudatoolkit/redist/overrides.nix new file mode 100644 index 00000000000..588f2f2a086 --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/redist/overrides.nix @@ -0,0 +1,72 @@ +final: prev: let + inherit (prev) lib pkgs; +in (lib.filterAttrs (attr: _: (prev ? "${attr}")) { + ### Overrides to fix the components of cudatoolkit-redist + + # Attributes that don't exist in the previous set are removed. + # That means only overrides can go here, and not new expressions! + + libcufile = prev.libcufile.overrideAttrs (oldAttrs: { + buildInputs = oldAttrs.buildInputs ++ [ + prev.libcublas + pkgs.numactl + pkgs.rdma-core + ]; + # libcuda needs to be resolved during runtime + autoPatchelfIgnoreMissingDeps = true; + }); + + libcusolver = final.addBuildInputs prev.libcusolver [ + prev.libcublas + ]; + + cuda_nvprof = prev.cuda_nvprof.overrideAttrs (oldAttrs: { + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.addOpenGLRunpath ]; + buildInputs = oldAttrs.buildInputs ++ [ prev.cuda_cupti ]; + # libcuda needs to be resolved during runtime + autoPatchelfIgnoreMissingDeps = true; + }); + + cuda_demo_suite = final.addBuildInputs prev.cuda_demo_suite [ + pkgs.freeglut + pkgs.libGLU + pkgs.libglvnd + pkgs.mesa + prev.libcufft + prev.libcurand + ]; + + nsight_compute = prev.nsight_compute.overrideAttrs (oldAttrs: { + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ pkgs.qt5.wrapQtAppsHook ]; + buildInputs = oldAttrs.buildInputs ++ [ pkgs.libsForQt5.qt5.qtwebview ]; + }); + + nsight_systems = prev.nsight_systems.overrideAttrs (oldAttrs: { + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ + pkgs.addOpenGLRunpath + pkgs.qt5.wrapQtAppsHook + ]; + buildInputs = oldAttrs.buildInputs ++ [ + pkgs.alsa-lib + pkgs.e2fsprogs + pkgs.nss + pkgs.numactl + pkgs.pulseaudio + pkgs.wayland + pkgs.xorg.libXcursor + pkgs.xorg.libXdamage + pkgs.xorg.libXrandr + pkgs.xorg.libXtst + ]; + # libcuda needs to be resolved during runtime + autoPatchelfIgnoreMissingDeps = true; + }); + + nvidia_driver = prev.nvidia_driver.overrideAttrs (oldAttrs: { + # libcuda needs to be resolved during runtime + autoPatchelfIgnoreMissingDeps = true; + # No need to support this package as we have drivers already + # in linuxPackages. + meta.broken = true; + }); +}) diff --git a/pkgs/development/compilers/cudatoolkit/versions.toml b/pkgs/development/compilers/cudatoolkit/versions.toml new file mode 100644 index 00000000000..aba6281af09 --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/versions.toml @@ -0,0 +1,59 @@ +["10.0"] +version = "10.0.130" +url = "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux" +sha256 = "16p3bv1lwmyqpxil8r951h385sy9asc578afrc7lssa68c71ydcj" +gcc = "gcc7" + +["10.1"] +version = "10.1.243" +url = "https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run" +sha256 = "0caxhlv2bdq863dfp6wj7nad66ml81vasq2ayf11psvq2b12vhp7" +gcc = "gcc7" + +["10.2"] +version = "10.2.89" +url = "http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run" +sha256 = "04fasl9sjkb1jvchvqgaqxprnprcz7a8r52249zp2ijarzyhf3an" +gcc = "gcc7" + +["11.0"] +version = "11.0.3" +url = "https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run" +sha256 = "1h4c69nfrgm09jzv8xjnjcvpq8n4gnlii17v3wzqry5d13jc8ydh" +gcc = "gcc9" + +["11.1"] +version = "11.1.1" +url = "https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run" +sha256 = "13yxv2fgvdnqqbwh1zb80x4xhyfkbajfkwyfpdg9493010kngbiy" +gcc = "gcc9" + +["11.2"] +version = "11.2.1" +url = "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run" +sha256 = "sha256-HamMuJfMX1inRFpKZspPaSaGdwbLOvWKZpzc2Nw9F8g=" +gcc = "gcc9" + +["11.3"] +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" + +["11.4"] +version = "11.4.2" +url = "https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run" +sha256 = "sha256-u9h8oOkT+DdFSnljZ0c1E83e9VUILk2G7Zo4ZZzIHwo=" +gcc = "gcc10" # can bump to 11 along with stdenv.cc + +["11.5"] +version = "11.5.0" +url = "https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run" +sha256 = "sha256-rgoWk9lJfPPYHmlIlD43lGNpANtxyY1Y7v2sr38aHkw=" +gcc = "gcc10" # can bump to 11 along with stdenv.cc + +["11.6"] +version = "11.6.1" +url = "https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.run" +sha256 = "sha256-qyGa/OALdCABEyaYZvv/derQN7z8I1UagzjCaEyYTX4=" +gcc = "gcc10" # can bump to 11 along with stdenv.cc diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix index 0011dc2f6e1..5b1673ae372 100644 --- a/pkgs/development/libraries/librealsense/default.nix +++ b/pkgs/development/libraries/librealsense/default.nix @@ -8,11 +8,11 @@ , ninja , pkg-config , gcc -, cudaSupport ? config.cudaSupport or false, cudatoolkit +, cudaSupport ? config.cudaSupport or false, cudaPackages ? {} , enablePython ? false, pythonPackages ? null }: -assert cudaSupport -> cudatoolkit != null; +assert cudaSupport -> (cudaPackages?cudatoolkit && cudaPackages.cudatoolkit != null); assert enablePython -> pythonPackages != null; stdenv.mkDerivation rec { @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { buildInputs = [ libusb1 gcc.cc.lib - ] ++ lib.optional cudaSupport cudatoolkit + ] ++ lib.optional cudaSupport cudaPackages.cudatoolkit ++ lib.optionals enablePython (with pythonPackages; [python pybind11 ]); patches = [ diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix index 202903b9aa1..9333d5cdfe8 100644 --- a/pkgs/development/libraries/science/math/caffe2/default.nix +++ b/pkgs/development/libraries/science/math/caffe2/default.nix @@ -5,8 +5,8 @@ , python, future, six, python-protobuf, numpy, pydot , eigen , doxygen -, useCuda ? (config.cudaSupport or false), cudatoolkit ? null -, useCudnn ? (config.cudnnSupport or false), cudnn ? null +, useCuda ? (config.cudaSupport or false), cudaPackages ? {} +, useCudnn ? (config.cudnnSupport or false) , useOpenmp ? false, openmp ? null , useOpencv3 ? true, opencv3 ? null , useLeveldb ? false, leveldb ? null @@ -20,6 +20,10 @@ #, useNnpack ? false }: +let + inherit (cudaPackages) cudatoolkit cudnn; +in + assert useCuda -> cudatoolkit != null; assert useCudnn -> (useCuda && cudnn != null); assert useOpencv3 -> opencv3 != null; diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix deleted file mode 100644 index a3f785c5b38..00000000000 --- a/pkgs/development/libraries/science/math/cudnn/default.nix +++ /dev/null @@ -1,114 +0,0 @@ -# The following version combinations are supported: -# * cuDNN 7.4.2, cudatoolkit 10.0 -# * cuDNN 7.6.5, cudatoolkit 10.0-10.1 -# * cuDNN 8.1.1, cudatoolkit 10.2-11.2 -# * cuDNN 8.3.2, cudatoolkit 10.2-11.5 -{ callPackage -, cudatoolkit_10 -, cudatoolkit_10_0 -, cudatoolkit_10_1 -, cudatoolkit_10_2 -, cudatoolkit_11 -, cudatoolkit_11_0 -, cudatoolkit_11_1 -, cudatoolkit_11_2 -, cudatoolkit_11_3 -, cudatoolkit_11_4 -, cudatoolkit_11_5 -, fetchurl -, lib -}: - -let - generic = args: callPackage (import ./generic.nix (removeAttrs args [ "cudatoolkit" ])) { - inherit (args) cudatoolkit; - }; - urlPrefix = "https://developer.download.nvidia.com/compute/redist/cudnn"; -in -rec { - # cuDNN 7.x - # Still used by libtensorflow-bin. It should be upgraded at some point. - cudnn_7_4_cudatoolkit_10_0 = generic rec { - version = "7.4.2"; - cudatoolkit = cudatoolkit_10_0; - # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn_742/cudnn-support-matrix/index.html#cudnn-cuda-hardware-versions__table-cudnn-cuda-hardware-versions. - minCudaVersion = "9.2.88"; - maxCudaVersion = "10.0.99999"; - mkSrc = _: fetchurl { - url = "${urlPrefix}/v${version}/cudnn-10.0-linux-x64-v7.4.2.24.tgz"; - hash = "sha256-Lt/IagK1DRfojEeJVaMy5qHoF05+U6NFi06lH68C2qM="; - }; - }; - # The only overlap between supported and packaged CUDA versions is 10.0. - - cudnn_7_6_cudatoolkit_10_0 = generic rec { - version = "7.6.5"; - cudatoolkit = cudatoolkit_10_0; - # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn_765/cudnn-support-matrix/index.html#cudnn-versions-763-765. - minCudaVersion = "9.2.148"; - maxCudaVersion = "10.1.243"; - mkSrc = cudatoolkit: fetchurl { - url = "${urlPrefix}/v${version}/cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.5.32.tgz"; - hash = { - "10.0" = "sha256-KDVeOV8LK5OsLIO2E2CzW6bNA3fkTni+GXtrYbS0kro="; - "10.1" = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLM="; - }."${cudatoolkit.majorVersion}"; - }; - }; - cudnn_7_6_cudatoolkit_10_1 = cudnn_7_6_cudatoolkit_10_0.override { cudatoolkit = cudatoolkit_10_1; }; - - # cuDNN 8.x - # cuDNN 8.1 is still used by tensorflow at the time of writing (2022-02-17). - # See https://github.com/NixOS/nixpkgs/pull/158218 for more info. - cudnn_8_1_cudatoolkit_10_2 = generic rec { - version = "8.1.1"; - cudatoolkit = cudatoolkit_10_2; - # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-811/support-matrix/index.html#cudnn-versions-810-811. - minCudaVersion = "10.2.00000"; - maxCudaVersion = "11.2.99999"; - mkSrc = cudatoolkit: - let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.2"; in - fetchurl { - url = "${urlPrefix}/v${version}/cudnn-${v}-linux-x64-v8.1.1.33.tgz"; - hash = { - "10.2" = "sha256-Kkp7mabpv6aQ6xm7QeSVU/KnpJGls6v8rpAOFmxbbr0="; - "11.2" = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; - }."${v}"; - }; - }; - cudnn_8_1_cudatoolkit_11_0 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_0; }; - cudnn_8_1_cudatoolkit_11_1 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_1; }; - cudnn_8_1_cudatoolkit_11_2 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; }; - - cudnn_8_1_cudatoolkit_10 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_10; }; - - # cuDNN 8.3 is necessary for the latest jaxlib, esp. jaxlib-bin. See - # https://github.com/google/jax/discussions/9455 for more info. - cudnn_8_3_cudatoolkit_10_2 = generic rec { - version = "8.3.2"; - cudatoolkit = cudatoolkit_10_2; - # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-832/support-matrix/index.html#cudnn-cuda-hardware-versions. - minCudaVersion = "10.2.00000"; - maxCudaVersion = "11.5.99999"; - mkSrc = cudatoolkit: - let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.5"; in - fetchurl { - # Starting at version 8.3.1 there's a new directory layout including - # a subdirectory `local_installers`. - url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/local_installers/${v}/cudnn-linux-x86_64-8.3.2.44_cuda${v}-archive.tar.xz"; - hash = { - "10.2" = "sha256-1vVu+cqM+PketzIQumw9ykm6REbBZhv6/lXB7EC2aaw="; - "11.5" = "sha256-VQCVPAjF5dHd3P2iNPnvvdzb5DpTsm3AqCxyP6FwxFc="; - }."${v}"; - }; - }; - cudnn_8_3_cudatoolkit_11_0 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_0; }; - cudnn_8_3_cudatoolkit_11_1 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_1; }; - cudnn_8_3_cudatoolkit_11_2 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; }; - cudnn_8_3_cudatoolkit_11_3 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_3; }; - cudnn_8_3_cudatoolkit_11_4 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_4; }; - cudnn_8_3_cudatoolkit_11_5 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_5; }; - - cudnn_8_3_cudatoolkit_10 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_10; }; - cudnn_8_3_cudatoolkit_11 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11; }; -} diff --git a/pkgs/development/libraries/science/math/cudnn/extension.nix b/pkgs/development/libraries/science/math/cudnn/extension.nix new file mode 100644 index 00000000000..263310f3d7c --- /dev/null +++ b/pkgs/development/libraries/science/math/cudnn/extension.nix @@ -0,0 +1,112 @@ +final: prev: let + + inherit (final) callPackage; + inherit (prev) cudatoolkit cudaVersion lib pkgs; + + ### CuDNN + + buildCuDnnPackage = args: callPackage ./generic.nix {} args; + + toUnderscore = str: lib.replaceStrings ["."] ["_"] str; + + majorMinorPatch = str: lib.concatStringsSep "." (lib.take 3 (lib.splitVersion str)); + + cuDnnPackages = with lib; let + # Check whether a file is supported for our cuda version + isSupported = fileData: elem cudaVersion fileData.supportedCudaVersions; + # Return the first file that is supported. In practice there should only ever be one anyway. + supportedFile = files: findFirst isSupported null files; + # Supported versions with versions as keys and file as value + supportedVersions = filterAttrs (version: file: file !=null ) (mapAttrs (version: files: supportedFile files) cuDnnVersions); + # Compute versioned attribute name to be used in this package set + computeName = version: "cudnn_${toUnderscore version}"; + # Add all supported builds as attributes + allBuilds = mapAttrs' (version: file: nameValuePair (computeName version) (buildCuDnnPackage (removeAttrs file ["fileVersion"]))) supportedVersions; + # Set the default attributes, e.g. cudnn = cudnn_8_3_1; + defaultBuild = { "cudnn" = allBuilds.${computeName cuDnnDefaultVersion}; }; + in allBuilds // defaultBuild; + + cuDnnVersions = let + urlPrefix = "https://developer.download.nvidia.com/compute/redist/cudnn"; + in { + "7.4.2" = [ + rec { + fileVersion = "10.0"; + fullVersion = "7.4.2.24"; + sha256 = "18ys0apiz9afid2s6lvy9qbyi8g66aimb2a7ikl1f3dm09mciprf"; + url = "${urlPrefix}/v${majorMinorPatch fullVersion}/cudnn-10.0-linux-x64-v${fullVersion}.tgz"; + supportedCudaVersions = [ "10.0" ]; + } + ]; + "7.6.5" = [ + rec { + fileVersion = "10.0"; + fullVersion = "7.6.5.32"; + hash = "sha256-KDVeOV8LK5OsLIO2E2CzW6bNA3fkTni+GXtrYbS0kro="; + url = "${urlPrefix}/v${majorMinorPatch fullVersion}/cudnn-${cudatoolkit.majorVersion}-linux-x64-v${fullVersion}.tgz"; + supportedCudaVersions = [ "10.0" ]; + } + rec { + fileVersion = "10.1"; + fullVersion = "7.6.5.32"; + hash = "sha256-YAJn8squ0v1Y6yFLpmnY6jXzlqfRm5SCLms2+fcIjCA="; + url = "${urlPrefix}/v${majorMinorPatch fullVersion}/cudnn-${cudatoolkit.majorVersion}-linux-x64-v${fullVersion}.tgz"; + supportedCudaVersions = [ "10.1" ]; + } + rec { + fileVersion = "10.2"; + fullVersion = "7.6.5.32"; + hash = "sha256-fq7IA5osMKsLx1jTA1iHZ2k972v0myJIWiwAvy4TbLN="; + url = "${urlPrefix}/v${majorMinorPatch fullVersion}/cudnn-${cudatoolkit.majorVersion}-linux-x64-v${fullVersion}.tgz"; + supportedCudaVersions = [ "10.2" ]; + } + ]; + "8.1.1" = [ + rec { + fileVersion = "10.2"; + fullVersion = "8.1.1.33"; + hash = "sha256-Kkp7mabpv6aQ6xm7QeSVU/KnpJGls6v8rpAOFmxbbr0="; + url = "${urlPrefix}/v${majorMinorPatch fullVersion}/cudnn-${fileVersion}-linux-x64-v${fullVersion}.tgz"; + supportedCudaVersions = [ "10.2" ]; + } + rec { + fileVersion = "11.2"; + fullVersion = "8.1.1.33"; + hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; + url = "${urlPrefix}/v${majorMinorPatch fullVersion}/cudnn-${fileVersion}-linux-x64-v${fullVersion}.tgz"; + supportedCudaVersions = [ "11.2" ]; + } + ]; + "8.3.2" = [ + rec { + fileVersion = "10.2"; + fullVersion = "8.3.2.44"; + hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo="; + url = "${urlPrefix}/v${majorMinorPatch fullVersion}/local_installers/${fileVersion}/cudnn-linux-x86_64-${fullVersion}_cuda${fileVersion}-archive.tar.xz"; + supportedCudaVersions = [ "10.2" ]; + } + rec { + fileVersion = "11.5"; + fullVersion = "8.3.2.44"; + hash = "sha256-VQCVPAjF5dHd3P2iNPnvvdzb5DpTsm3AqCxyP6FwxFc="; + url = "${urlPrefix}/v${majorMinorPatch fullVersion}/local_installers/${fileVersion}/cudnn-linux-x86_64-${fullVersion}_cuda${fileVersion}-archive.tar.xz"; + supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.4" "11.5" "11.6" ]; + } + ]; + }; + + # Default attributes + cuDnnDefaultVersion = { + "10.0" = "7.4.2"; + "10.1" = "7.6.5"; + "10.2" = "8.3.2"; + "11.0" = "8.3.2"; + "11.1" = "8.3.2"; + "11.2" = "8.3.2"; + "11.3" = "8.3.2"; + "11.4" = "8.3.2"; + "11.5" = "8.3.2"; + "11.6" = "8.3.2"; + }.${cudaVersion}; + +in cuDnnPackages diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix index a5272e56ab6..2e53bdcdfc4 100644 --- a/pkgs/development/libraries/science/math/cudnn/generic.nix +++ b/pkgs/development/libraries/science/math/cudnn/generic.nix @@ -1,9 +1,3 @@ -{ minCudaVersion -, maxCudaVersion -, mkSrc -, version -}: - { stdenv , lib , cudatoolkit @@ -19,13 +13,27 @@ removeStatic ? false }: -stdenv.mkDerivation { +{ fullVersion +, url +, hash ? null +, sha256 ? null +, supportedCudaVersions ? [] +}: + +assert (hash != null) || (sha256 != null); + +let + majorMinorPatch = version: lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version)); + version = majorMinorPatch fullVersion; +in stdenv.mkDerivation { name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}"; inherit version; # It's often the case that the src depends on the version of cudatoolkit it's # being linked against, so we pass in `cudatoolkit` as an argument to `mkSrc`. - src = mkSrc cudatoolkit; + src = fetchurl { + inherit url hash sha256; + }; nativeBuildInputs = [ addOpenGLRunpath ]; @@ -81,12 +89,7 @@ stdenv.mkDerivation { # official version constraints (as recorded in default.nix). In some cases # you _may_ be able to smudge version constraints, just know that you're # embarking into unknown and unsupported territory when doing so. - broken = let cudaVer = lib.getVersion cudatoolkit; in - !( - lib.versionAtLeast cudaVer minCudaVersion - && lib.versionAtLeast maxCudaVersion cudaVer - ); - + broken = !(elem cudatoolkit.majorMinorVersion supportedCudaVersions); description = "NVIDIA CUDA Deep Neural Network library (cuDNN)"; homepage = "https://developer.nvidia.com/cudnn"; license = licenses.unfree; diff --git a/pkgs/development/libraries/science/math/cutensor/default.nix b/pkgs/development/libraries/science/math/cutensor/default.nix deleted file mode 100644 index d0d24bd1adb..00000000000 --- a/pkgs/development/libraries/science/math/cutensor/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ callPackage -, cudatoolkit_10_1 -, cudatoolkit_10_2 -, cudatoolkit_11 -, cudatoolkit_11_0 -, cudatoolkit_11_1 -, cudatoolkit_11_2 -, cudatoolkit_11_3 -, cudatoolkit_11_4 -, cudatoolkit_11_5 -, cudatoolkit_11_6 -}: - -rec { - cutensor_cudatoolkit_10_1 = callPackage ./generic.nix rec { - version = "1.2.2.5"; - libPath = "lib/10.1"; - cudatoolkit = cudatoolkit_10_1; - # 1.2.2 is compatible with CUDA 10.1, 10.2, and 11.x. - # See https://docs.nvidia.com/cuda/cutensor/release_notes.html#cutensor-v1-2-2. - hash = "sha256-lU7iK4DWuC/U3s1Ct/rq2Gr3w4F2U7RYYgpmF05bibY="; - }; - - cutensor_cudatoolkit_10_2 = cutensor_cudatoolkit_10_1.override { - version = "1.3.1.3"; - libPath = "lib/10.2"; - cudatoolkit = cudatoolkit_10_2; - # 1.3.1 is compatible with CUDA 10.2 and 11.x. - # See https://docs.nvidia.com/cuda/cutensor/release_notes.html#cutensor-v1-3-1. - hash = "sha256-mNlVnabB2IC3HnYY0mb06RLqQzDxN9ePGVeBy3hkBC8="; - }; - - cutensor_cudatoolkit_10 = cutensor_cudatoolkit_10_2; - - cutensor_cudatoolkit_11_0 = cutensor_cudatoolkit_10_2.override { - libPath = "lib/11"; - cudatoolkit = cudatoolkit_11_0; - }; - - cutensor_cudatoolkit_11_1 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; }; - cutensor_cudatoolkit_11_2 = cutensor_cudatoolkit_11_0.override { cudatoolkit = 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_5 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_5; }; - cutensor_cudatoolkit_11_6 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_6; }; - - cutensor_cudatoolkit_11 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11; }; -} diff --git a/pkgs/development/libraries/science/math/libtorch/test/default.nix b/pkgs/development/libraries/science/math/libtorch/test/default.nix index eaea649d434..a7940cd1db8 100644 --- a/pkgs/development/libraries/science/math/libtorch/test/default.nix +++ b/pkgs/development/libraries/science/math/libtorch/test/default.nix @@ -6,10 +6,11 @@ , symlinkJoin , cudaSupport -, cudatoolkit -, cudnn +, cudaPackages ? {} }: let + inherit (cudaPackages) cudatoolkit cudnn; + cudatoolkit_joined = symlinkJoin { name = "${cudatoolkit.name}-unsplit"; paths = [ cudatoolkit.out cudatoolkit.lib ]; diff --git a/pkgs/development/libraries/science/math/magma/default.nix b/pkgs/development/libraries/science/math/magma/default.nix index c5960dddf51..a1e0d908d51 100644 --- a/pkgs/development/libraries/science/math/magma/default.nix +++ b/pkgs/development/libraries/science/math/magma/default.nix @@ -1,4 +1,8 @@ -{ lib, stdenv, fetchurl, cmake, gfortran, ninja, cudatoolkit, libpthreadstubs, lapack, blas }: +{ lib, stdenv, fetchurl, cmake, gfortran, ninja, cudaPackages, libpthreadstubs, lapack, blas }: + +let + inherit (cudaPackages) cudatoolkit; +in assert let majorIs = lib.versions.major cudatoolkit.version; in majorIs == "9" || majorIs == "10" || majorIs == "11"; diff --git a/pkgs/development/libraries/science/math/tensorflow/bin.nix b/pkgs/development/libraries/science/math/tensorflow/bin.nix index b57d1191933..e084fce9e9e 100644 --- a/pkgs/development/libraries/science/math/tensorflow/bin.nix +++ b/pkgs/development/libraries/science/math/tensorflow/bin.nix @@ -1,13 +1,16 @@ { lib, stdenv , fetchurl , addOpenGLRunpath -, cudaSupport ? false, symlinkJoin, cudatoolkit, cudnn +, cudaSupport ? false, cudaPackages ? {} +, symlinkJoin }: with lib; let broken = !stdenv.isLinux && !stdenv.isDarwin; + inherit (cudaPackages) cudatoolkit cudnn; + tfType = if cudaSupport then "gpu" else "cpu"; system = diff --git a/pkgs/development/python-modules/Theano/default.nix b/pkgs/development/python-modules/Theano/default.nix index 480970f04a1..cd4c81056d5 100644 --- a/pkgs/development/python-modules/Theano/default.nix +++ b/pkgs/development/python-modules/Theano/default.nix @@ -11,10 +11,14 @@ , setuptools , six , libgpuarray -, cudaSupport ? false, cudatoolkit -, cudnnSupport ? false, cudnn +, cudaSupport ? false, cudaPackages ? {} +, cudnnSupport ? false }: +let + inherit (cudaPackages) cudatoolkit cudnn; +in + assert cudnnSupport -> cudaSupport; let @@ -39,7 +43,9 @@ let ( lib.optional cudaSupport libgpuarray_ ++ lib.optional cudnnSupport cudnn ); - libgpuarray_ = libgpuarray.override { inherit cudaSupport cudatoolkit; }; + # We need to be careful with overriding Python packages within the package set + # as this can lead to collisions! + libgpuarray_ = libgpuarray.override { inherit cudaSupport cudaPackages; }; in buildPythonPackage rec { pname = "Theano"; diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix index a798920ef7a..beba7d21e0c 100644 --- a/pkgs/development/python-modules/cupy/default.nix +++ b/pkgs/development/python-modules/cupy/default.nix @@ -1,15 +1,13 @@ { lib, buildPythonPackage , fetchPypi, isPy3k, cython , fastrlock, numpy, six, wheel, pytestCheckHook, mock, setuptools -, cudatoolkit, cudnn, cutensor, nccl +, cudaPackages , addOpenGLRunpath }: -assert cudnn.cudatoolkit == cudatoolkit; -assert cutensor.cudatoolkit == cudatoolkit; -assert nccl.cudatoolkit == cudatoolkit; - -buildPythonPackage rec { +let + inherit (cudaPackages) cudatoolkit cudnn cutensor nccl; +in buildPythonPackage rec { pname = "cupy"; version = "10.2.0"; disabled = !isPy3k; diff --git a/pkgs/development/python-modules/jaxlib/bin.nix b/pkgs/development/python-modules/jaxlib/bin.nix index 0929831e32a..1eb4cc18ed0 100644 --- a/pkgs/development/python-modules/jaxlib/bin.nix +++ b/pkgs/development/python-modules/jaxlib/bin.nix @@ -18,7 +18,6 @@ , autoPatchelfHook , buildPythonPackage , config -, cudatoolkit_11 , cudnn , fetchurl , flatbuffers @@ -29,11 +28,16 @@ , stdenv # Options: , cudaSupport ? config.cudaSupport or false +, cudaPackages ? {} }: +let + inherit (cudaPackages) cudatoolkit cudnn; +in + # There are no jaxlib wheels targeting cudnn <8.0.5, and although there are # wheels for cudatoolkit <11.1, we don't support them. -assert cudaSupport -> lib.versionAtLeast cudatoolkit_11.version "11.1"; +assert cudaSupport -> lib.versionAtLeast cudatoolkit.version "11.1"; assert cudaSupport -> lib.versionAtLeast cudnn.version "8.0.5"; let @@ -116,7 +120,7 @@ buildPythonPackage rec { rpath=$(patchelf --print-rpath $file) # For some reason `makeLibraryPath` on `cudatoolkit_11` maps to # /lib which is different from /lib. - patchelf --set-rpath "$rpath:${cudatoolkit_11}/lib:${lib.makeLibraryPath [ cudatoolkit_11.lib cudnn ]}" $file + patchelf --set-rpath "$rpath:${cudatoolkit}/lib:${lib.makeLibraryPath [ cudatoolkit.lib cudnn ]}" $file done ''; @@ -127,7 +131,7 @@ buildPythonPackage rec { # more info. postInstall = lib.optional cudaSupport '' mkdir -p $out/bin - ln -s ${cudatoolkit_11}/bin/ptxas $out/bin/ptxas + ln -s ${cudatoolkit}/bin/ptxas $out/bin/ptxas ''; pythonImportsCheck = [ "jaxlib" ]; diff --git a/pkgs/development/python-modules/jaxlib/default.nix b/pkgs/development/python-modules/jaxlib/default.nix index 363bfe56134..3ecad5e4c7a 100644 --- a/pkgs/development/python-modules/jaxlib/default.nix +++ b/pkgs/development/python-modules/jaxlib/default.nix @@ -18,11 +18,6 @@ , wheel , which - # Build-time and runtime CUDA dependencies: -, cudatoolkit ? null -, cudnn ? null -, nccl ? null - # Python dependencies: , absl-py , flatbuffers @@ -42,6 +37,7 @@ # CUDA flags: , cudaCapabilities ? [ "sm_35" "sm_50" "sm_60" "sm_70" "sm_75" "compute_80" ] , cudaSupport ? false +, cudaPackages ? {} # MKL: , mklSupport ? true @@ -49,6 +45,8 @@ let + inherit (cudaPackages) cudatoolkit cudnn nccl; + pname = "jaxlib"; version = "0.3.0"; diff --git a/pkgs/development/python-modules/libgpuarray/default.nix b/pkgs/development/python-modules/libgpuarray/default.nix index 2be115ae365..89a83df4268 100644 --- a/pkgs/development/python-modules/libgpuarray/default.nix +++ b/pkgs/development/python-modules/libgpuarray/default.nix @@ -9,7 +9,7 @@ , six , nose , Mako -, cudaSupport ? false, cudatoolkit +, cudaSupport ? false, cudaPackages , openclSupport ? true, ocl-icd, clblas }: @@ -30,7 +30,7 @@ buildPythonPackage rec { configurePhase = "cmakeConfigurePhase"; libraryPath = lib.makeLibraryPath ( - lib.optionals cudaSupport [ cudatoolkit.lib cudatoolkit.out ] + lib.optionals cudaSupport (with cudaPackages; [ cudatoolkit.lib cudatoolkit.out ]) ++ lib.optionals openclSupport ([ clblas ] ++ lib.optional (!stdenv.isDarwin) ocl-icd) ); diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix index 0219300f1fd..d656a56e3c1 100644 --- a/pkgs/development/python-modules/numba/default.nix +++ b/pkgs/development/python-modules/numba/default.nix @@ -13,12 +13,15 @@ # CUDA-only dependencies: , addOpenGLRunpath ? null -, cudatoolkit ? null +, cudaPackages ? {} # CUDA flags: , cudaSupport ? false }: -buildPythonPackage rec { + +let + inherit (cudaPackages) cudatoolkit; +in buildPythonPackage rec { version = "0.55.1"; pname = "numba"; disabled = pythonOlder "3.6" || pythonAtLeast "3.10"; diff --git a/pkgs/development/python-modules/pycuda/default.nix b/pkgs/development/python-modules/pycuda/default.nix index cdd07e86110..1c443712db7 100644 --- a/pkgs/development/python-modules/pycuda/default.nix +++ b/pkgs/development/python-modules/pycuda/default.nix @@ -10,7 +10,7 @@ , decorator , appdirs , six -, cudatoolkit +, cudaPackages , python , mkDerivation , lib @@ -19,6 +19,8 @@ let compyte = import ./compyte.nix { inherit mkDerivation fetchFromGitHub; }; + + inherit (cudaPackages) cudatoolkit; in buildPythonPackage rec { pname = "pycuda"; diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix index 24ba74a1013..810460a30ad 100644 --- a/pkgs/development/python-modules/pytorch/default.nix +++ b/pkgs/development/python-modules/pytorch/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, fetchpatch, buildPythonPackage, python, - cudaSupport ? false, cudatoolkit, cudnn, nccl, magma, + cudaSupport ? false, cudaPackages, magma, mklDnnSupport ? true, useSystemNccl ? true, MPISupport ? false, mpi, buildDocs ? false, @@ -29,6 +29,10 @@ isPy3k, pythonOlder }: +let + inherit (cudaPackages) cudatoolkit cudnn nccl; +in + # assert that everything needed for cuda is present and that the correct cuda versions are used assert !cudaSupport || (let majorIs = lib.versions.major cudatoolkit.version; in majorIs == "9" || majorIs == "10" || majorIs == "11"); @@ -300,7 +304,7 @@ in buildPythonPackage rec { requiredSystemFeatures = [ "big-parallel" ]; passthru = { - inherit cudaSupport; + inherit cudaSupport cudaPackages; cudaArchList = final_cudaArchList; # At least for 1.10.2 `torch.fft` is unavailable unless BLAS provider is MKL. This attribute allows for easy detection of its availability. blasProvider = blas.provider; diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix index 2c47f8674e0..5a35fb8ded4 100644 --- a/pkgs/development/python-modules/tensorflow/bin.nix +++ b/pkgs/development/python-modules/tensorflow/bin.nix @@ -20,8 +20,7 @@ , tensorflow-estimator , tensorboard , cudaSupport ? false -, cudatoolkit -, cudnn +, cudaPackages ? {} , patchelfUnstable , zlib , python @@ -43,6 +42,7 @@ assert ! (stdenv.isDarwin && cudaSupport); let packages = import ./binary-hashes.nix; + inherit (cudaPackages) cudatoolkit cudnn; in buildPythonPackage { pname = "tensorflow" + lib.optionalString cudaSupport "-gpu"; inherit (packages) version; @@ -182,6 +182,10 @@ in buildPythonPackage { "tensorflow.python.framework" ]; + passthru = { + inherit cudaPackages; + }; + meta = with lib; { description = "Computation using data flow graphs for scalable machine learning"; homepage = "http://tensorflow.org"; diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix index 2d5a302521b..3a8eba3ba97 100644 --- a/pkgs/development/python-modules/tensorflow/default.nix +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -17,7 +17,7 @@ # that in nix as well. It would make some things easier and less confusing, but # it would also make the default tensorflow package unfree. See # https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0 -, cudaSupport ? false, cudatoolkit ? null, cudnn ? null, nccl ? null +, cudaSupport ? false, cudaPackages ? {} , mklSupport ? false, mkl ? null , tensorboardSupport ? true # XLA without CUDA is broken @@ -31,6 +31,10 @@ , Foundation, Security, cctools, llvmPackages_11 }: +let + inherit (cudaPackages) cudatoolkit cudnn nccl; +in + assert cudaSupport -> cudatoolkit != null && cudnn != null; @@ -514,6 +518,7 @@ in buildPythonPackage { # Regression test for #77626 removed because not more `tensorflow.contrib`. passthru = { + inherit cudaPackages; deps = bazel-build.deps; libtensorflow = bazel-build.out; }; diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix index 7b6384966ab..0cb280af674 100644 --- a/pkgs/development/python-modules/torchvision/default.nix +++ b/pkgs/development/python-modules/torchvision/default.nix @@ -11,12 +11,12 @@ , pillow , pytorch , pytest -, cudatoolkit -, cudnn , cudaSupport ? pytorch.cudaSupport or false # by default uses the value from pytorch }: let + inherit (pytorch.cudaPackages) cudatoolkit cudnn; + cudatoolkit_joined = symlinkJoin { name = "${cudatoolkit.name}-unsplit"; paths = [ cudatoolkit.out cudatoolkit.lib ]; diff --git a/pkgs/games/katago/default.nix b/pkgs/games/katago/default.nix index 3265f3d6338..6328b3f9bc8 100644 --- a/pkgs/games/katago/default.nix +++ b/pkgs/games/katago/default.nix @@ -1,8 +1,7 @@ { stdenv , boost , cmake -, cudatoolkit -, cudnn +, cudaPackages , eigen , fetchFromGitHub , gperftools @@ -52,7 +51,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals (!enableGPU) [ eigen ] ++ lib.optionals (enableGPU && enableCuda) [ - cudnn + cudaPackages.cudnn mesa.drivers ] ++ lib.optionals (enableGPU && !enableCuda) [ opencl-headers @@ -86,7 +85,7 @@ stdenv.mkDerivation rec { preConfigure = '' cd cpp/ '' + lib.optionalString enableCuda '' - export CUDA_PATH="${cudatoolkit}" + export CUDA_PATH="${cudaPackages.cudatoolkit}" export EXTRA_LDFLAGS="-L/run/opengl-driver/lib" ''; diff --git a/pkgs/test/cuda/cuda-library-samples/default.nix b/pkgs/test/cuda/cuda-library-samples/default.nix deleted file mode 100644 index ff256028cdf..00000000000 --- a/pkgs/test/cuda/cuda-library-samples/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ callPackage -, cudatoolkit_10_1, cudatoolkit_10_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_3, cutensor_cudatoolkit_11_4 -}: - -rec { - - cuda-library-samples_cudatoolkit_10_1 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_10_1; - cutensor_cudatoolkit = cutensor_cudatoolkit_10_1; - }; - - cuda-library-samples_cudatoolkit_10_2 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_10_2; - cutensor_cudatoolkit = cutensor_cudatoolkit_10_2; - }; - - cuda-library-samples_cudatoolkit_10 = - cuda-library-samples_cudatoolkit_10_2; - - ## - - cuda-library-samples_cudatoolkit_11_0 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_11_0; - cutensor_cudatoolkit = cutensor_cudatoolkit_11_0; - }; - - cuda-library-samples_cudatoolkit_11_1 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_11_1; - cutensor_cudatoolkit = cutensor_cudatoolkit_11_1; - }; - - cuda-library-samples_cudatoolkit_11_2 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_11_2; - 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_4; -} diff --git a/pkgs/test/cuda/cuda-library-samples/extension.nix b/pkgs/test/cuda/cuda-library-samples/extension.nix new file mode 100644 index 00000000000..4c721a9e9e1 --- /dev/null +++ b/pkgs/test/cuda/cuda-library-samples/extension.nix @@ -0,0 +1,3 @@ +final: prev: { + cuda-library-samples = final.callPackage ./generic.nix { }; +} diff --git a/pkgs/test/cuda/cuda-library-samples/generic.nix b/pkgs/test/cuda/cuda-library-samples/generic.nix index 350decef22d..f0c30d801a1 100644 --- a/pkgs/test/cuda/cuda-library-samples/generic.nix +++ b/pkgs/test/cuda/cuda-library-samples/generic.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub , cmake, addOpenGLRunpath , cudatoolkit -, cutensor_cudatoolkit +, cutensor }: let @@ -61,9 +61,9 @@ in # CUTENSOR_ROOT is double escaped postPatch = '' substituteInPlace CMakeLists.txt \ - --replace "\''${CUTENSOR_ROOT}/include" "${cutensor_cudatoolkit.dev}/include" + --replace "\''${CUTENSOR_ROOT}/include" "${cutensor.dev}/include" ''; - CUTENSOR_ROOT = cutensor_cudatoolkit; + CUTENSOR_ROOT = cutensor; }); } diff --git a/pkgs/test/cuda/cuda-samples/default.nix b/pkgs/test/cuda/cuda-samples/default.nix deleted file mode 100644 index 5b46a0651eb..00000000000 --- a/pkgs/test/cuda/cuda-samples/default.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ callPackage -, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2 -, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2, cudatoolkit_11_3, cudatoolkit_11_4 -}: - -rec { - ## - - cuda-samples_cudatoolkit_10_0 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_10_0; - sha256 = "1zvh4xsdyc59m87brpcmssxsjlp9dkynh4asnkcmc3g94f53l0jw"; - }; - - cuda-samples_cudatoolkit_10_1 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_10_1; - sha256 = "1s8ka0hznrni36ajhzf2gqpdrl8kd8fi047qijxks5l2abc093qd"; - }; - - cuda-samples_cudatoolkit_10_2 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_10_2; - sha256 = "01p1innzgh9siacpld6nsqimj8jkg93rk4gj8q4crn62pa5vhd94"; - }; - - cuda-samples_cudatoolkit_10 = cuda-samples_cudatoolkit_10_2; - - ## - - cuda-samples_cudatoolkit_11_0 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_11_0; - sha256 = "1n3vjc8c7zdig2xgl5fppavrphqzhdiv9m9nk6smh4f99fwi0705"; - }; - - cuda-samples_cudatoolkit_11_1 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_11_1; - sha256 = "1kjixk50i8y1bkiwbdn5lkv342crvkmbvy1xl5j3lsa1ica21kwh"; - }; - - cuda-samples_cudatoolkit_11_2 = callPackage ./generic.nix { - cudatoolkit = cudatoolkit_11_2; - sha256 = "1p1qjvfbm28l933mmnln02rqrf0cy9kbpsyb488d1haiqzvrazl1"; - }; - - 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/extension.nix b/pkgs/test/cuda/cuda-samples/extension.nix new file mode 100644 index 00000000000..4c93845d1db --- /dev/null +++ b/pkgs/test/cuda/cuda-samples/extension.nix @@ -0,0 +1,20 @@ +final: prev: let + + sha256 = { + "10.0" = "1zvh4xsdyc59m87brpcmssxsjlp9dkynh4asnkcmc3g94f53l0jw"; + "10.1" = "1s8ka0hznrni36ajhzf2gqpdrl8kd8fi047qijxks5l2abc093qd"; + "10.2" = "01p1innzgh9siacpld6nsqimj8jkg93rk4gj8q4crn62pa5vhd94"; + "11.0" = "1n3vjc8c7zdig2xgl5fppavrphqzhdiv9m9nk6smh4f99fwi0705"; + "11.1" = "1kjixk50i8y1bkiwbdn5lkv342crvkmbvy1xl5j3lsa1ica21kwh"; + "11.2" = "1p1qjvfbm28l933mmnln02rqrf0cy9kbpsyb488d1haiqzvrazl1"; + "11.3" = "0kbibb6pgz8j5iq6284axcnmycaha9bw8qlmdp6yfwmnahq1v0yz"; + "11.4" = "082dkk5y34wyvjgj2p5j1d00rk8xaxb9z0mhvz16bd469r1bw2qk"; + "11.5" = "sha256-AKRZbke0K59lakhTi8dX2cR2aBuWPZkiQxyKaZTvHrI="; + "11.6" = "sha256-AsLNmAplfuQbXg9zt09tXAuFJ524EtTYsQuUlV1tPkE="; + }.${prev.cudaVersion}; + +in { + cuda-samples = final.callPackage ./generic.nix { + inherit sha256; + }; +} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7b6b4f3e3d4..09208dd45f3 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -195,7 +195,6 @@ mapAliases ({ cryptol = throw "cryptol was removed due to prolonged broken build"; # Added 2020-08-21 # CUDA Toolkit - cudatoolkit_6 = throw "cudatoolkit_6 has been removed in favor of newer versions"; # Added 2021-02-14 cudatoolkit_65 = throw "cudatoolkit_65 has been removed in favor of newer versions"; # Added 2021-02-14 cudatoolkit_7 = throw "cudatoolkit_7 has been removed in favor of newer versions"; # Added 2021-02-14 @@ -205,15 +204,56 @@ mapAliases ({ cudatoolkit_9_0 = throw "cudatoolkit_9_0 has been removed in favor of newer versions"; # Added 2021-04-18 cudatoolkit_9_1 = throw "cudatoolkit_9_1 has been removed in favor of newer versions"; # Added 2021-04-18 cudatoolkit_9_2 = throw "cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18 + cudatoolkit_10 = throw "cudatoolkit_10 has been renamed to cudaPackages_10.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_10_0 = throw "cudatoolkit_10_0 has been renamed to cudaPackages_10_0.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_10_1 = throw "cudatoolkit_10_1 has been renamed to cudaPackages_10_1.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_10_2 = throw "cudatoolkit_10_2 has been renamed to cudaPackages_10_2.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_11_0 = throw "cudatoolkit_11_0 has been renamed to cudaPackages_11_0.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_11_1 = throw "cudatoolkit_11_1 has been renamed to cudaPackages_11_1.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_11_2 = throw "cudatoolkit_11_2 has been renamed to cudaPackages_11_2.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_11_3 = throw "cudatoolkit_11_3 has been renamed to cudaPackages_11_3.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_11_4 = throw "cudatoolkit_11_4 has been renamed to cudaPackages_11_4.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_11_5 = throw "cudatoolkit_11_5 has been renamed to cudaPackages_11_5.cudatoolkit"; # Added 2022-04-04 + cudatoolkit_11_6 = throw "cudatoolkit_11_6 has been renamed to cudaPackages_11_6.cudatoolkit"; # Added 2022-04-04 + + cudnn = throw "cudnn is now part of cudaPackages*"; # Added 2022-04-04 cudnn6_cudatoolkit_8 = throw "cudnn6_cudatoolkit_8 has been removed in favor of newer versions"; # Added 2021-02-14 cudnn_cudatoolkit_7 = throw "cudnn_cudatoolkit_7 has been removed in favor of newer versions"; # Added 2021-02-14 + cudnn_7_4_cudatoolkit_10_0 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 cudnn_cudatoolkit_7_5 = throw "cudnn_cudatoolkit_7_5 has been removed in favor of newer versions"; # Added 2021-02-14 + cudnn_7_6_cudatoolkit_10_0 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_7_6_cudatoolkit_10_1 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 cudnn_cudatoolkit_8 = throw "cudnn_cudatoolkit_8 has been removed in favor of newer versions"; # Added 2021-02-14 + cudnn_8_1_cudatoolkit_10_2 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_1_cudatoolkit_11_0 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_1_cudatoolkit_11_1 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_1_cudatoolkit_11_2 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_1_cudatoolkit_10 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_3_cudatoolkit_10_2 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_3_cudatoolkit_11_0 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_3_cudatoolkit_11_1 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_3_cudatoolkit_11_2 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_3_cudatoolkit_11_3 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_3_cudatoolkit_11_4 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_3_cudatoolkit_11_5 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_3_cudatoolkit_10 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 + cudnn_8_3_cudatoolkit_11 = throw "cudnn* is now part of cudaPackages*"; # Added 2022-04-04 cudnn_cudatoolkit_9 = throw "cudnn_cudatoolkit_9 has been removed in favor of newer versions"; # Added 2021-04-18 cudnn_cudatoolkit_9_0 = throw "cudnn_cudatoolkit_9_0 has been removed in favor of newer versions"; # Added 2021-04-18 cudnn_cudatoolkit_9_1 = throw "cudnn_cudatoolkit_9_1 has been removed in favor of newer versions"; # Added 2021-04-18 cudnn_cudatoolkit_9_2 = throw "cudnn_cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18 + cutensor = throw "cutensor is now part of cudaPackages*"; # Added 2022-04-04 + cutensor_cudatoolkit_10 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04 + cutensor_cudatoolkit_10_1 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04 + cutensor_cudatoolkit_10_2 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04 + cutensor_cudatoolkit_11 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04 + cutensor_cudatoolkit_11_0 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04 + cutensor_cudatoolkit_11_1 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04 + cutensor_cudatoolkit_11_2 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04 + cutensor_cudatoolkit_11_3 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04 + cutensor_cudatoolkit_11_4 = throw "cutensor* is now part of cudaPackages*"; # Added 2022-04-04 + cloud-print-connector = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006"; cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead"; # Added 2020-06-15 cups-googlecloudprint = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006"; @@ -782,6 +822,10 @@ mapAliases ({ ### N ### + nccl = throw "nccl has been renamed to cudaPackages.nccl"; # Added 2022-04-04 + nccl_cudatoolkit_10 = throw "nccl_cudatoolkit_10 has been renamed to cudaPackages_10.nccl"; # Added 2022-04-04 + nccl_cudatoolkit_11 = throw "nccl_cudatoolkit_11 has been renamed to cudaPackages_11.nccl"; # Added 2022-04-04 + net_snmp = net-snmp; # Added 2019-12-21 nagiosPluginsOfficial = monitoring-plugins; navit = throw "navit has been removed from nixpkgs, due to being unmaintained"; # Added 2021-06-07 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5ef3b109563..e2035dd2b2a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2360,8 +2360,7 @@ with pkgs; libtensorflow-bin = callPackage ../development/libraries/science/math/tensorflow/bin.nix { cudaSupport = config.cudaSupport or false; - cudatoolkit = cudatoolkit_10_0; - cudnn = cudnn_7_4_cudatoolkit_10_0; + cudaPackages = cudaPackages_10_0; }; libtensorflow = @@ -4619,59 +4618,24 @@ with pkgs; snooze = callPackage ../tools/system/snooze { }; - cudaPackages = recurseIntoAttrs (callPackage ../development/compilers/cudatoolkit {}); - inherit (cudaPackages) - cudatoolkit_10 - cudatoolkit_10_0 - cudatoolkit_10_1 - cudatoolkit_10_2 - cudatoolkit_11 - cudatoolkit_11_0 - cudatoolkit_11_1 - cudatoolkit_11_2 - cudatoolkit_11_3 - cudatoolkit_11_4 - cudatoolkit_11_5 - cudatoolkit_11_6; + cudaPackages_10_0 = callPackage ./cuda-packages.nix { cudaVersion = "10.0"; }; + cudaPackages_10_1 = callPackage ./cuda-packages.nix { cudaVersion = "10.1"; }; + cudaPackages_10_2 = callPackage ./cuda-packages.nix { cudaVersion = "10.2"; }; + cudaPackages_10 = cudaPackages_10_2; - cudatoolkit = cudatoolkit_11; + cudaPackages_11_0 = callPackage ./cuda-packages.nix { cudaVersion = "11.0"; }; + cudaPackages_11_1 = callPackage ./cuda-packages.nix { cudaVersion = "11.1"; }; + cudaPackages_11_2 = callPackage ./cuda-packages.nix { cudaVersion = "11.2"; }; + cudaPackages_11_3 = callPackage ./cuda-packages.nix { cudaVersion = "11.3"; }; + cudaPackages_11_4 = callPackage ./cuda-packages.nix { cudaVersion = "11.4"; }; + cudaPackages_11_5 = callPackage ./cuda-packages.nix { cudaVersion = "11.5"; }; + cudaPackages_11_6 = callPackage ./cuda-packages.nix { cudaVersion = "11.6"; }; + cudaPackages_11 = cudaPackages_11_5; + cudaPackages = cudaPackages_11; - cudnnPackages = callPackages ../development/libraries/science/math/cudnn { }; - inherit (cudnnPackages) - cudnn_7_4_cudatoolkit_10_0 - cudnn_7_6_cudatoolkit_10_0 - cudnn_7_6_cudatoolkit_10_1 - cudnn_8_1_cudatoolkit_10_2 - cudnn_8_1_cudatoolkit_11_0 - cudnn_8_1_cudatoolkit_11_1 - cudnn_8_1_cudatoolkit_11_2 - cudnn_8_1_cudatoolkit_10 - cudnn_8_3_cudatoolkit_10_2 - cudnn_8_3_cudatoolkit_11_0 - cudnn_8_3_cudatoolkit_11_1 - cudnn_8_3_cudatoolkit_11_2 - cudnn_8_3_cudatoolkit_11_3 - cudnn_8_3_cudatoolkit_11_4 - cudnn_8_3_cudatoolkit_11_5 - cudnn_8_3_cudatoolkit_10 - cudnn_8_3_cudatoolkit_11; - - # Make sure to keep this in sync with the `cudatoolkit` version! - cudnn = cudnn_8_3_cudatoolkit_11; - - cutensorPackages = callPackages ../development/libraries/science/math/cutensor { }; - inherit (cutensorPackages) - cutensor_cudatoolkit_10 - cutensor_cudatoolkit_10_1 - cutensor_cudatoolkit_10_2 - cutensor_cudatoolkit_11 - cutensor_cudatoolkit_11_0 - cutensor_cudatoolkit_11_1 - cutensor_cudatoolkit_11_2 - cutensor_cudatoolkit_11_3 - cutensor_cudatoolkit_11_4; - - cutensor = cutensor_cudatoolkit_11; + # TODO: move to alias + cudatoolkit = cudaPackages.cudatoolkit; + cudatoolkit_11 = cudaPackages_11.cudatoolkit; curie = callPackage ../data/fonts/curie { }; @@ -8184,10 +8148,6 @@ with pkgs; nbd = callPackage ../tools/networking/nbd { }; xnbd = callPackage ../tools/networking/xnbd { }; - nccl = callPackage ../development/libraries/science/math/nccl { }; - nccl_cudatoolkit_10 = nccl.override { cudatoolkit = cudatoolkit_10; }; - nccl_cudatoolkit_11 = nccl.override { cudatoolkit = cudatoolkit_11; }; - ndjbdns = callPackage ../tools/networking/ndjbdns { }; ndppd = callPackage ../applications/networking/ndppd { }; @@ -26411,7 +26371,7 @@ with pkgs; gpu-screen-recorder = callPackage ../applications/video/gpu-screen-recorder { # rm me as soon as this package gains the support for cuda 11 - cudatoolkit = cudatoolkit_10; + inherit (cudaPackages_10) cudatoolkit; }; gpu-screen-recorder-gtk = callPackage ../applications/video/gpu-screen-recorder/gpu-screen-recorder-gtk.nix { }; @@ -31325,8 +31285,6 @@ with pkgs; katagoWithCuda = katago.override { enableCuda = true; - cudnn = cudnn_8_3_cudatoolkit_11; - cudatoolkit = cudatoolkit_11; }; katagoCPU = katago.override { @@ -32930,8 +32888,7 @@ with pkgs; caffe = callPackage ../applications/science/math/caffe ({ cudaSupport = config.cudaSupport or false; - cudatoolkit = cudatoolkit_10_1; - cudnn = cudnn_7_6_cudatoolkit_10_1; + cudaPackages = cudaPackages_10_1; opencv3 = opencv3WithoutCuda; # Used only for image loading. blas = openblas; inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo; diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix new file mode 100644 index 00000000000..211540260d1 --- /dev/null +++ b/pkgs/top-level/cuda-packages.nix @@ -0,0 +1,72 @@ +{ lib +, pkgs +, cudaVersion +}: + +with lib; + +let + + scope = makeScope pkgs.newScope (final: { + # Here we put package set configuration and utility functions. + inherit cudaVersion; + cudaMajorVersion = versions.major final.cudaVersion; + cudaMajorMinorVersion = lib.versions.majorMinor final.cudaVersion; + inherit lib pkgs; + + addBuildInputs = drv: buildInputs: drv.overrideAttrs (oldAttrs: { + buildInputs = (oldAttrs.buildInputs or []) ++ buildInputs; + }); + }); + + cutensorExtension = final: prev: let + ### CuTensor + + buildCuTensorPackage = final.callPackage ../development/libraries/science/math/cutensor/generic.nix; + + cuTensorVersions = { + "1.2.2.5" = { + hash = "sha256-lU7iK4DWuC/U3s1Ct/rq2Gr3w4F2U7RYYgpmF05bibY="; + }; + "1.3.1.3" = { + hash = "sha256-mNlVnabB2IC3HnYY0mb06RLqQzDxN9ePGVeBy3hkBC8="; + }; + }; + + inherit (final) cudaMajorMinorVersion cudaMajorVersion; + + cutensor = buildCuTensorPackage rec { + version = if cudaMajorMinorVersion == "10.1" then "1.2.2.5" else "1.3.1.3"; + inherit (cuTensorVersions.${version}) hash; + # This can go into generic.nix + libPath = "lib/${if cudaMajorVersion == "10" then cudaMajorMinorVersion else cudaMajorVersion}"; + }; + in { inherit cutensor; }; + + extraPackagesExtension = final: prev: { + + nccl = final.callPackage ../development/libraries/science/math/nccl { }; + + autoAddOpenGLRunpathHook = final.callPackage ( { makeSetupHook, addOpenGLRunpath }: + makeSetupHook { + name = "auto-add-opengl-runpath-hook"; + deps = [ + addOpenGLRunpath + ]; + } ../development/compilers/cudatoolkit/auto-add-opengl-runpath-hook.sh + ) {}; + + }; + + composedExtension = composeManyExtensions [ + extraPackagesExtension + (import ../development/compilers/cudatoolkit/extension.nix) + (import ../development/compilers/cudatoolkit/redist/extension.nix) + (import ../development/compilers/cudatoolkit/redist/overrides.nix) + (import ../development/libraries/science/math/cudnn/extension.nix) + (import ../test/cuda/cuda-samples/extension.nix) + (import ../test/cuda/cuda-library-samples/extension.nix) + cutensorExtension + ]; + +in (scope.overrideScope' composedExtension) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1cab3948c61..ad2f9173123 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -94,12 +94,6 @@ let disabledIf = x: drv: if x then disabled drv else drv; - # CUDA-related packages that are compatible with the currently packaged version - # of TensorFlow, used to keep these versions in sync in related packages like `jaxlib`. - tensorflow_compat_cudatoolkit = pkgs.cudatoolkit_11_2; - tensorflow_compat_cudnn = pkgs.cudnn_8_1_cudatoolkit_11_2; - tensorflow_compat_nccl = pkgs.nccl_cudatoolkit_11; - in { inherit pkgs stdenv; @@ -1959,12 +1953,7 @@ in { cufflinks = callPackage ../development/python-modules/cufflinks { }; - cupy = callPackage ../development/python-modules/cupy { - cudatoolkit = pkgs.cudatoolkit_11; - cudnn = pkgs.cudnn_8_3_cudatoolkit_11; - nccl = pkgs.nccl_cudatoolkit_11; - cutensor = pkgs.cutensor_cudatoolkit_11; - }; + cupy = callPackage ../development/python-modules/cupy { }; curio = callPackage ../development/python-modules/curio { }; @@ -4231,22 +4220,20 @@ in { jaxlib-bin = callPackage ../development/python-modules/jaxlib/bin.nix { cudaSupport = pkgs.config.cudaSupport or false; - cudatoolkit_11 = tensorflow_compat_cudatoolkit; - cudnn = tensorflow_compat_cudnn; + inherit (self.tensorflow) cudaPackages; }; jaxlib-build = callPackage ../development/python-modules/jaxlib { # Some platforms don't have `cudaSupport` defined, hence the need for 'or false'. cudaSupport = pkgs.config.cudaSupport or false; - cudatoolkit = tensorflow_compat_cudatoolkit; - cudnn = tensorflow_compat_cudnn; - nccl = tensorflow_compat_nccl; + inherit (self.tensorflow) cudaPackages; }; jaxlib = self.jaxlib-build; jaxlibWithCuda = self.jaxlib-build.override { cudaSupport = true; + }; jaxlibWithoutCuda = self.jaxlib-build.override { @@ -5681,7 +5668,6 @@ in { numba = callPackage ../development/python-modules/numba { cudaSupport = pkgs.config.cudaSupport or false; - cudatoolkit = tensorflow_compat_cudatoolkit; }; numbaWithCuda = self.numba.override { @@ -6876,7 +6862,6 @@ in { pyctr = callPackage ../development/python-modules/pyctr { }; pycuda = callPackage ../development/python-modules/pycuda { - inherit (pkgs) cudatoolkit; inherit (pkgs.stdenv) mkDerivation; }; @@ -7596,6 +7581,7 @@ in { }); pyrealsense2WithCuda = toPythonModule (pkgs.librealsenseWithCuda.override { + cudaSupport = true; enablePython = true; pythonPackages = self; }); @@ -9894,18 +9880,21 @@ in { tensorboardx = callPackage ../development/python-modules/tensorboardx { }; - tensorflow-bin = callPackage ../development/python-modules/tensorflow/bin.nix { + tensorflow-bin = let + # CUDA-related packages that are compatible with the currently packaged version + # of TensorFlow, used to keep these versions in sync in related packages like `jaxlib`. + cudaPackages = pkgs.cudaPackages_11_2.overrideScope' (final: prev: { + cudnn = prev.cudnn_8_1_1; + }); + in callPackage ../development/python-modules/tensorflow/bin.nix { cudaSupport = pkgs.config.cudaSupport or false; - cudatoolkit = tensorflow_compat_cudatoolkit; - cudnn = tensorflow_compat_cudnn; + inherit cudaPackages; }; tensorflow-build = callPackage ../development/python-modules/tensorflow { inherit (pkgs.darwin) cctools; cudaSupport = pkgs.config.cudaSupport or false; - cudatoolkit = tensorflow_compat_cudatoolkit; - cudnn = tensorflow_compat_cudnn; - nccl = tensorflow_compat_nccl; + inherit (self.tensorflow-bin) cudaPackages; inherit (pkgs.darwin.apple_sdk.frameworks) Foundation Security; flatbuffers-core = pkgs.flatbuffers; flatbuffers-python = self.flatbuffers; diff --git a/pkgs/top-level/release-cuda.nix b/pkgs/top-level/release-cuda.nix new file mode 100644 index 00000000000..6cc149936ac --- /dev/null +++ b/pkgs/top-level/release-cuda.nix @@ -0,0 +1,55 @@ +/* + Test CUDA packages. + + This release file will not be tested on hydra.nixos.org + because it requires unfree software. + + Test for example like this: + + $ hydra-eval-jobs pkgs/top-level/release-cuda.nix --option restrict-eval false -I foo=. --arg nixpkgs '{ outPath = ./.; revCount = 0; shortRev = "aabbcc"; }' + +*/ + +{ # The platforms for which we build Nixpkgs. + supportedSystems ? [ + "x86_64-linux" + ] +, # Attributes passed to nixpkgs. + nixpkgsArgs ? { config = { allowUnfree = true; inHydra = true; }; } +}: + +with import ./release-lib.nix {inherit supportedSystems nixpkgsArgs; }; +with lib; + +let + # Package sets to evaluate + packageSets = [ + "cudaPackages_10_0" + "cudaPackages_10_1" + "cudaPackages_10_2" + "cudaPackages_10" + "cudaPackages_11_0" + "cudaPackages_11_1" + "cudaPackages_11_2" + "cudaPackages_11_3" + "cudaPackages_11_4" + "cudaPackages_11_5" + "cudaPackages_11_6" + "cudaPackages_11" + "cudaPackages" + ]; + + evalPackageSet = pset: mapTestOn { ${pset} = packagePlatforms pkgs.${pset}; }; + + jobs = (mapTestOn ({ + # Packages to evaluate + python3.pkgs.caffeWithCuda = linux; + python3.pkgs.jaxlibWithCuda = linux; + python3.pkgs.libgpuarray = linux; + python3.pkgs.tensorflowWithCuda = linux; + python3.pkgs.pyrealsense2WithCuda = linux; + python3.pkgs.pytorchWithCuda = linux; + python3.pkgs.jaxlib = linux; + }) // (genAttrs packageSets evalPackageSet)); + +in jobs