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