|
2 | 2 | , stdenv |
3 | 3 | , lib |
4 | 4 | , fetchFromGitHub |
5 | | -, abseil-cpp_202508 |
| 5 | +, abseil-cpp_202407 |
6 | 6 | , cmake |
7 | 7 | , cpuinfo |
8 | 8 | , eigen |
9 | | -, flatbuffers |
| 9 | +, flatbuffers_23 |
10 | 10 | , glibcLocales |
11 | 11 | , gtest |
12 | 12 | , howard-hinnant-date |
|
49 | 49 | owner = "boostorg"; |
50 | 50 | repo = "mp11"; |
51 | 51 | tag = "boost-1.89.0"; |
52 | | - hash = "sha256-6dbfae01358be88ebefcdfb7707a2a68ba914c39dc83fdd85f556761fe0fafb4"; |
| 52 | + hash = "sha256-HcQJ/PXBQdWVjGZy28X2LxVRfjV2nkeLTusNjT9ssXI="; |
53 | 53 | }; |
54 | 54 |
|
55 | 55 | safeint = fetchFromGitHub { |
56 | 56 | owner = "dcleblanc"; |
57 | 57 | repo = "safeint"; |
58 | 58 | tag = "3.0.28a"; |
59 | | - hash = "sha256-9e652d065a3cef80623287d5dc61edcf6a95ddab38a9dfeb34f155261fc9cef7"; |
| 59 | + hash = "sha256-MT2nba15DDApNQZxOBkf0DPvc759rEhpwfcD6ERphl0="; |
60 | 60 | }; |
61 | 61 |
|
62 | 62 | onnx = fetchFromGitHub { |
63 | 63 | owner = "onnx"; |
64 | 64 | repo = "onnx"; |
65 | | - tag = "v1.19.0"; |
66 | | - hash = "sha256-2c2ac5a078b0350a0723fac606be8cd9e9e8cbd4c99bab1bffe2623b188fd236"; |
| 65 | + tag = "v1.17.0"; |
| 66 | + hash = "sha256-9oORW0YlQ6SphqfbjcYb0dTlHc+1gzy9quH/Lj6By8Q="; |
67 | 67 | }; |
68 | 68 |
|
69 | 69 | cutlass = fetchFromGitHub { |
|
77 | 77 | owner = "dmlc"; |
78 | 78 | repo = "dlpack"; |
79 | 79 | tag = "v1.1"; |
80 | | - hash = "sha256-2e3b94b55825c240cc58e6721e15b449978cbae21a2a4caa23058b0157ee2fb3"; |
| 80 | + hash = "sha256-RoJxvlrt1QcGvB8m/kycziTbO367diOpsnro49hDl24="; |
81 | 81 | }; |
82 | 82 |
|
83 | 83 | isCudaJetson = cudaSupport && cudaPackages.flags.isJetsonBuild; |
@@ -118,6 +118,8 @@ effectiveStdenv.mkDerivation rec { |
118 | 118 | ++ lib.optionals rocmSupport [ |
119 | 119 | rocmPackages.rocm-cmake |
120 | 120 | rocmPackages.hipcc |
| 121 | + rocmPackages.llvm.clang |
| 122 | + rocmPackages.rocm-device-libs |
121 | 123 | ]; |
122 | 124 |
|
123 | 125 | buildInputs = [ |
@@ -205,9 +207,9 @@ effectiveStdenv.mkDerivation rec { |
205 | 207 | (lib.cmakeBool "ABSL_ENABLE_INSTALL" true) |
206 | 208 | (lib.cmakeBool "FETCHCONTENT_FULLY_DISCONNECTED" true) |
207 | 209 | (lib.cmakeBool "FETCHCONTENT_QUIET" false) |
208 | | - (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_ABSEIL_CPP" "${abseil-cpp_202508.src}") |
| 210 | + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_ABSEIL_CPP" "${abseil-cpp_202407.src}") |
209 | 211 | (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_DLPACK" "${dlpack}") |
210 | | - (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FLATBUFFERS" "${flatbuffers.src}") |
| 212 | + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FLATBUFFERS" "${flatbuffers_23.src}") |
211 | 213 | (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_MP11" "${mp11}") |
212 | 214 | (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_ONNX" "${onnx}") |
213 | 215 | (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_RE2" "${re2.src}") |
@@ -245,6 +247,17 @@ effectiveStdenv.mkDerivation rec { |
245 | 247 |
|
246 | 248 | env = lib.optionalAttrs effectiveStdenv.cc.isClang { |
247 | 249 | NIX_CFLAGS_COMPILE = "-Wno-error"; |
| 250 | + } // lib.optionalAttrs rocmSupport { |
| 251 | + # ROCm environment variables for HIP compiler |
| 252 | + ROCM_PATH = "${rocmPackages.rocm-core}"; |
| 253 | + HIP_PATH = "${rocmPackages.hipcc}"; |
| 254 | + HIP_CLANG_PATH = "${rocmPackages.llvm.clang}/bin"; |
| 255 | + HSA_PATH = "${rocmPackages.rocm-core}"; |
| 256 | + HIP_PLATFORM = "amd"; |
| 257 | + HIP_COMPILER = "clang"; |
| 258 | + HIP_RUNTIME = "rocclr"; |
| 259 | + # ROCm device library path |
| 260 | + ROCM_DEVICE_LIB_PATH = "${rocmPackages.rocm-device-libs}/lib"; |
248 | 261 | }; |
249 | 262 |
|
250 | 263 | doCheck = |
@@ -280,6 +293,16 @@ effectiveStdenv.mkDerivation rec { |
280 | 293 | rm -v onnxruntime/test/optimizer/nhwc_transformer_test.cc |
281 | 294 | ''; |
282 | 295 |
|
| 296 | + preConfigure = lib.optionalString rocmSupport '' |
| 297 | + # Create symlinks for ROCm tools that HIP compiler expects |
| 298 | + mkdir -p /tmp/rocm/bin /tmp/rocm/lib/llvm/bin |
| 299 | + ln -sf ${rocmPackages.rocm-core}/bin/rocm_agent_enumerator /tmp/rocm/bin/rocm_agent_enumerator |
| 300 | + ln -sf ${rocmPackages.llvm.clang}/bin/clang++ /tmp/rocm/lib/llvm/bin/clang++ |
| 301 | + ln -sf ${rocmPackages.llvm.clang}/bin/clang /tmp/rocm/lib/llvm/bin/clang |
| 302 | + export ROCM_PATH=/tmp/rocm |
| 303 | + export ROCM_DEVICE_LIB_PATH=${rocmPackages.rocm-device-libs}/lib |
| 304 | + ''; |
| 305 | + |
283 | 306 | postBuild = lib.optionalString pythonSupport '' |
284 | 307 | ${python3Packages.python.interpreter} ../setup.py bdist_wheel |
285 | 308 | ''; |
|
0 commit comments