Merge pull request #197157 from tpwrules/cutensor-fixes

python3Packages.cupy: upgrade and fix build
This commit is contained in:
Sandro 2022-11-03 12:49:28 +01:00 committed by GitHub
commit 100e2c666c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 9 deletions

View file

@ -13,6 +13,7 @@
let let
mostOfVersion = builtins.concatStringsSep "." mostOfVersion = builtins.concatStringsSep "."
(lib.take 3 (lib.versions.splitVersion version)); (lib.take 3 (lib.versions.splitVersion version));
platform = "${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
@ -20,7 +21,9 @@ stdenv.mkDerivation {
inherit version; inherit version;
src = fetchurl { src = fetchurl {
url = "https://developer.download.nvidia.com/compute/cutensor/${mostOfVersion}/local_installers/libcutensor-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}-${version}.tar.gz"; url = if lib.versionOlder mostOfVersion "1.3.3"
then "https://developer.download.nvidia.com/compute/cutensor/${mostOfVersion}/local_installers/libcutensor-${platform}-${version}.tar.gz"
else "https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/${platform}/libcutensor-${platform}-${version}-archive.tar.xz";
inherit hash; inherit hash;
}; };

View file

@ -9,12 +9,12 @@ let
inherit (cudaPackages) cudatoolkit cudnn cutensor nccl; inherit (cudaPackages) cudatoolkit cudnn cutensor nccl;
in buildPythonPackage rec { in buildPythonPackage rec {
pname = "cupy"; pname = "cupy";
version = "11.1.0"; version = "11.2.0";
disabled = !isPy3k; disabled = !isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-4TtvmQrd172HCQWvQp+tUQhNCFf4YA3TIGod9aRoTt0="; sha256 = "sha256-wzNh8RejR6Y/aZbql0RtF/HAOPGh9TPlAkZCNQdpI+I=";
}; };
# See https://docs.cupy.dev/en/v10.2.0/reference/environment.html. Seting both # See https://docs.cupy.dev/en/v10.2.0/reference/environment.html. Seting both
@ -70,8 +70,5 @@ in buildPythonPackage rec {
license = licenses.mit; license = licenses.mit;
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ hyphon81 ]; maintainers = with maintainers; [ hyphon81 ];
# See https://github.com/NixOS/nixpkgs/pull/179912#issuecomment-1206265922.
broken = true;
}; };
} }

View file

@ -54,6 +54,8 @@ in
src = "${src}/cuTENSOR"; src = "${src}/cuTENSOR";
buildInputs = [ cutensor ];
cmakeFlags = [ cmakeFlags = [
"-DCUTENSOR_EXAMPLE_BINARY_INSTALL_DIR=${builtins.placeholder "out"}/bin" "-DCUTENSOR_EXAMPLE_BINARY_INSTALL_DIR=${builtins.placeholder "out"}/bin"
]; ];

View file

@ -28,15 +28,15 @@ let
"1.2.2.5" = { "1.2.2.5" = {
hash = "sha256-lU7iK4DWuC/U3s1Ct/rq2Gr3w4F2U7RYYgpmF05bibY="; hash = "sha256-lU7iK4DWuC/U3s1Ct/rq2Gr3w4F2U7RYYgpmF05bibY=";
}; };
"1.3.1.3" = { "1.5.0.3" = {
hash = "sha256-mNlVnabB2IC3HnYY0mb06RLqQzDxN9ePGVeBy3hkBC8="; hash = "sha256-T96+lPC6OTOkIs/z3QWg73oYVSyidN0SVkBWmT9VRx0=";
}; };
}; };
inherit (final) cudaMajorMinorVersion cudaMajorVersion; inherit (final) cudaMajorMinorVersion cudaMajorVersion;
cutensor = buildCuTensorPackage rec { cutensor = buildCuTensorPackage rec {
version = if cudaMajorMinorVersion == "10.1" then "1.2.2.5" else "1.3.1.3"; version = if cudaMajorMinorVersion == "10.1" then "1.2.2.5" else "1.5.0.3";
inherit (cuTensorVersions.${version}) hash; inherit (cuTensorVersions.${version}) hash;
# This can go into generic.nix # This can go into generic.nix
libPath = "lib/${if cudaMajorVersion == "10" then cudaMajorMinorVersion else cudaMajorVersion}"; libPath = "lib/${if cudaMajorVersion == "10" then cudaMajorMinorVersion else cudaMajorVersion}";