Merge pull request #218157 from OmnipotentEntity/katago-1.12.4

katago: 1.11.0 -> 1.12.4

authored by Sandro and committed by GitHub 16068e09 936e99ba

+102 -24
+74 -4
pkgs/development/libraries/science/math/tensorrt/extension.nix
··· 31 inherit buildTensorRTPackage; 32 } // allBuilds // defaultBuild; 33 34 tensorRTVersions = { 35 "8.4.0" = [ 36 rec { 37 fileVersionCuda = "11.6"; 38 fileVersionCudnn = "8.3"; 39 fullVersion = "8.4.0.6"; 40 sha256 = "sha256-DNgHHXF/G4cK2nnOWImrPXAkOcNW6Wy+8j0LRpAH/LQ="; 41 - tarball = "TensorRT-${fullVersion}.Linux.x86_64-gnu.cuda-${fileVersionCuda}.cudnn${fileVersionCudnn}.tar.gz"; 42 - supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" ]; 43 } 44 rec { 45 fileVersionCuda = "10.2"; 46 fileVersionCudnn = "8.3"; 47 fullVersion = "8.4.0.6"; 48 sha256 = "sha256-aCzH0ZI6BrJ0v+e5Bnm7b8mNltA7NNuIa8qRKzAQv+I="; 49 - tarball = "TensorRT-${fullVersion}.Linux.x86_64-gnu.cuda-${fileVersionCuda}.cudnn${fileVersionCudnn}.tar.gz"; 50 supportedCudaVersions = [ "10.2" ]; 51 } 52 ]; ··· 62 "11.4" = "8.4.0"; 63 "11.5" = "8.4.0"; 64 "11.6" = "8.4.0"; 65 - "11.7" = "8.4.0"; 66 }.${cudaVersion} or "8.4.0"; 67 68 in tensorRTPackages
··· 31 inherit buildTensorRTPackage; 32 } // allBuilds // defaultBuild; 33 34 + tarballURL = 35 + {fullVersion, fileVersionCuda, fileVersionCudnn ? null} : 36 + "TensorRT-${fullVersion}.Linux.x86_64-gnu.cuda-${fileVersionCuda}" 37 + + lib.optionalString (fileVersionCudnn != null) ".cudnn${fileVersionCudnn}" 38 + + ".tar.gz"; 39 + 40 tensorRTVersions = { 41 + "8.6.0" = [ 42 + rec { 43 + fileVersionCuda = "11.8"; 44 + fullVersion = "8.6.0.12"; 45 + sha256 = "sha256-wXMqEJPFerefoLaH8GG+Np5EnJwXeStmDzZj7Nj6e2M="; 46 + tarball = tarballURL { inherit fileVersionCuda fullVersion; }; 47 + supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" "11.8" ]; 48 + } 49 + ]; 50 + "8.5.3" = [ 51 + rec { 52 + fileVersionCuda = "11.8"; 53 + fileVersionCudnn = "8.6"; 54 + fullVersion = "8.5.3.1"; 55 + sha256 = "sha256-BNeuOYvPTUAfGxI0DVsNrX6Z/FAB28+SE0ptuGu7YDY="; 56 + tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; 57 + supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" "11.8" ]; 58 + } 59 + rec { 60 + fileVersionCuda = "10.2"; 61 + fileVersionCudnn = "8.6"; 62 + fullVersion = "8.5.3.1"; 63 + sha256 = "sha256-WCt6yfOmFbrjqdYCj6AE2+s2uFpISwk6urP+2I0BnGQ="; 64 + tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; 65 + supportedCudaVersions = [ "10.2" ]; 66 + } 67 + ]; 68 + "8.5.2" = [ 69 + rec { 70 + fileVersionCuda = "11.8"; 71 + fileVersionCudnn = "8.6"; 72 + fullVersion = "8.5.2.2"; 73 + sha256 = "sha256-Ov5irNS/JETpEz01FIFNMs9YVmjGHL7lSXmDpgCdgao="; 74 + tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; 75 + supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" "11.8" ]; 76 + } 77 + rec { 78 + fileVersionCuda = "10.2"; 79 + fileVersionCudnn = "8.6"; 80 + fullVersion = "8.5.2.2"; 81 + sha256 = "sha256-UruwQShYcHLY5d81lKNG7XaoUsZr245c+PUpUN6pC5E="; 82 + tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; 83 + supportedCudaVersions = [ "10.2" ]; 84 + } 85 + ]; 86 + "8.5.1" = [ 87 + rec { 88 + fileVersionCuda = "11.8"; 89 + fileVersionCudnn = "8.6"; 90 + fullVersion = "8.5.1.7"; 91 + sha256 = "sha256-Ocx/B3BX0TY3lOj/UcTPIaXb7M8RFrACC6Da4PMGMHY="; 92 + tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; 93 + supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" "11.8" ]; 94 + } 95 + rec { 96 + fileVersionCuda = "10.2"; 97 + fileVersionCudnn = "8.6"; 98 + fullVersion = "8.5.1.7"; 99 + sha256 = "sha256-CcFGJhw7nFdPnSYYSxcto2MHK3F84nLQlJYjdIw8dPM="; 100 + tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; 101 + supportedCudaVersions = [ "10.2" ]; 102 + } 103 + ]; 104 "8.4.0" = [ 105 rec { 106 fileVersionCuda = "11.6"; 107 fileVersionCudnn = "8.3"; 108 fullVersion = "8.4.0.6"; 109 sha256 = "sha256-DNgHHXF/G4cK2nnOWImrPXAkOcNW6Wy+8j0LRpAH/LQ="; 110 + tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; 111 + supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" ]; 112 } 113 rec { 114 fileVersionCuda = "10.2"; 115 fileVersionCudnn = "8.3"; 116 fullVersion = "8.4.0.6"; 117 sha256 = "sha256-aCzH0ZI6BrJ0v+e5Bnm7b8mNltA7NNuIa8qRKzAQv+I="; 118 + tarball = tarballURL { inherit fileVersionCuda fileVersionCudnn fullVersion; }; 119 supportedCudaVersions = [ "10.2" ]; 120 } 121 ]; ··· 131 "11.4" = "8.4.0"; 132 "11.5" = "8.4.0"; 133 "11.6" = "8.4.0"; 134 + "11.7" = "8.5.3"; 135 + "11.8" = "8.5.3"; 136 }.${cudaVersion} or "8.4.0"; 137 138 in tensorRTPackages
+2 -2
pkgs/development/libraries/science/math/tensorrt/generic.nix
··· 9 }: 10 11 { fullVersion 12 - , fileVersionCudnn 13 , tarball 14 , sha256 15 , supportedCudaVersions ? [ ] 16 }: 17 18 - assert lib.assertMsg (lib.strings.versionAtLeast cudnn.version fileVersionCudnn) 19 "This version of TensorRT requires at least cuDNN ${fileVersionCudnn} (current version is ${cudnn.version})"; 20 21 backendStdenv.mkDerivation rec {
··· 9 }: 10 11 { fullVersion 12 + , fileVersionCudnn ? null 13 , tarball 14 , sha256 15 , supportedCudaVersions ? [ ] 16 }: 17 18 + assert fileVersionCudnn == null || lib.assertMsg (lib.strings.versionAtLeast cudnn.version fileVersionCudnn) 19 "This version of TensorRT requires at least cuDNN ${fileVersionCudnn} (current version is ${cudnn.version})"; 20 21 backendStdenv.mkDerivation rec {
+20 -16
pkgs/games/katago/default.nix
··· 14 , openssl 15 , writeShellScriptBin 16 , enableAVX2 ? stdenv.hostPlatform.avx2Support 17 , enableBigBoards ? false 18 - , enableCuda ? false 19 , enableContrib ? false 20 - , enableGPU ? true 21 , enableTcmalloc ? true 22 }: 23 24 - assert !enableGPU -> ( 25 - !enableCuda); 26 27 # N.b. older versions of cuda toolkit (e.g. 10) do not support newer versions 28 # of gcc. If you need to use cuda10, please override stdenv with gcc8Stdenv 29 stdenv.mkDerivation rec { 30 pname = "katago"; 31 - version = "1.11.0"; 32 - githash = "d8d0cd76cf73df08af3d7061a639488ae9494419"; 33 34 src = fetchFromGitHub { 35 owner = "lightvector"; 36 repo = "katago"; 37 rev = "v${version}"; 38 - sha256 = "sha256-TZKkkYe2PPzgPhItBZBSJDwU3anhsujuCGIYru55OtU="; 39 }; 40 41 fakegit = writeShellScriptBin "git" "echo ${githash}"; ··· 48 buildInputs = [ 49 libzip 50 boost 51 - ] ++ lib.optionals (!enableGPU) [ 52 eigen 53 - ] ++ lib.optionals (enableGPU && enableCuda) [ 54 cudaPackages.cudnn 55 cudaPackages.cudatoolkit 56 mesa.drivers 57 - ] ++ lib.optionals (enableGPU && !enableCuda) [ 58 opencl-headers 59 ocl-icd 60 ] ++ lib.optionals enableContrib [ ··· 65 66 cmakeFlags = [ 67 "-DNO_GIT_REVISION=ON" 68 - ] ++ lib.optionals (!enableGPU) [ 69 - "-DUSE_BACKEND=EIGEN" 70 ] ++ lib.optionals enableAVX2 [ 71 "-DUSE_AVX2=ON" 72 - ] ++ lib.optionals (enableGPU && enableCuda) [ 73 "-DUSE_BACKEND=CUDA" 74 - ] ++ lib.optionals (enableGPU && !enableCuda) [ 75 "-DUSE_BACKEND=OPENCL" 76 ] ++ lib.optionals enableContrib [ 77 "-DBUILD_DISTRIBUTED=1" ··· 85 86 preConfigure = '' 87 cd cpp/ 88 - '' + lib.optionalString enableCuda '' 89 export CUDA_PATH="${cudaPackages.cudatoolkit}" 90 export EXTRA_LDFLAGS="-L/run/opengl-driver/lib" 91 ''; ··· 93 installPhase = '' 94 runHook preInstall 95 mkdir -p $out/bin; cp katago $out/bin; 96 - '' + lib.optionalString enableCuda '' 97 wrapProgram $out/bin/katago \ 98 --prefix LD_LIBRARY_PATH : "/run/opengl-driver/lib" 99 '' + ''
··· 14 , openssl 15 , writeShellScriptBin 16 , enableAVX2 ? stdenv.hostPlatform.avx2Support 17 + , backend ? "opencl" 18 , enableBigBoards ? false 19 , enableContrib ? false 20 , enableTcmalloc ? true 21 }: 22 23 + assert lib.assertOneOf "backend" backend [ "opencl" "cuda" "tensorrt" "eigen" ]; 24 25 # N.b. older versions of cuda toolkit (e.g. 10) do not support newer versions 26 # of gcc. If you need to use cuda10, please override stdenv with gcc8Stdenv 27 stdenv.mkDerivation rec { 28 pname = "katago"; 29 + version = "1.12.4"; 30 + githash = "75280bf26582090dd4985dca62bc7124116c856d"; 31 32 src = fetchFromGitHub { 33 owner = "lightvector"; 34 repo = "katago"; 35 rev = "v${version}"; 36 + sha256 = "sha256-1rznAxEFJ/Ah5/WiSwc+rtITOUOPYOua5BLKeqHOBr0="; 37 }; 38 39 fakegit = writeShellScriptBin "git" "echo ${githash}"; ··· 46 buildInputs = [ 47 libzip 48 boost 49 + ] ++ lib.optionals (backend == "eigen") [ 50 eigen 51 + ] ++ lib.optionals (backend == "cuda") [ 52 cudaPackages.cudnn 53 cudaPackages.cudatoolkit 54 mesa.drivers 55 + ] ++ lib.optionals (backend == "tensorrt") [ 56 + cudaPackages.cudatoolkit 57 + cudaPackages.tensorrt 58 + mesa.drivers 59 + ] ++ lib.optionals (backend == "opencl") [ 60 opencl-headers 61 ocl-icd 62 ] ++ lib.optionals enableContrib [ ··· 67 68 cmakeFlags = [ 69 "-DNO_GIT_REVISION=ON" 70 ] ++ lib.optionals enableAVX2 [ 71 "-DUSE_AVX2=ON" 72 + ] ++ lib.optionals (backend == "eigen") [ 73 + "-DUSE_BACKEND=EIGEN" 74 + ] ++ lib.optionals (backend == "cuda") [ 75 "-DUSE_BACKEND=CUDA" 76 + ] ++ lib.optionals (backend == "tensorrt") [ 77 + "-DUSE_BACKEND=TENSORRT" 78 + ] ++ lib.optionals (backend == "opencl") [ 79 "-DUSE_BACKEND=OPENCL" 80 ] ++ lib.optionals enableContrib [ 81 "-DBUILD_DISTRIBUTED=1" ··· 89 90 preConfigure = '' 91 cd cpp/ 92 + '' + lib.optionalString (backend == "cuda" || backend == "tensorrt") '' 93 export CUDA_PATH="${cudaPackages.cudatoolkit}" 94 export EXTRA_LDFLAGS="-L/run/opengl-driver/lib" 95 ''; ··· 97 installPhase = '' 98 runHook preInstall 99 mkdir -p $out/bin; cp katago $out/bin; 100 + '' + lib.optionalString (backend == "cuda" || backend == "tensorrt") '' 101 wrapProgram $out/bin/katago \ 102 --prefix LD_LIBRARY_PATH : "/run/opengl-driver/lib" 103 '' + ''
+6 -2
pkgs/top-level/all-packages.nix
··· 36030 katago = callPackage ../games/katago { }; 36031 36032 katagoWithCuda = katago.override { 36033 - enableCuda = true; 36034 }; 36035 36036 katagoCPU = katago.override { 36037 - enableGPU = false; 36038 }; 36039 36040 klavaro = callPackage ../games/klavaro { };
··· 36030 katago = callPackage ../games/katago { }; 36031 36032 katagoWithCuda = katago.override { 36033 + backend = "cuda"; 36034 }; 36035 36036 katagoCPU = katago.override { 36037 + backend = "eigen"; 36038 + }; 36039 + 36040 + katagoTensorRT = katago.override { 36041 + backend = "tensorrt"; 36042 }; 36043 36044 klavaro = callPackage ../games/klavaro { };