llvmPackages_rocm -> rocmPackages.llvm

Madoura 12e7fc69 41ab6719

+807 -685
-18
pkgs/development/compilers/llvm/rocm/0000-fix-openmp.patch
··· 1 - diff --git a/libomptarget/plugins/amdgpu/impl/impl.cpp b/libomptarget/plugins/amdgpu/impl/impl.cpp 2 - index 80e024789..3a14e0889 100644 3 - --- a/libomptarget/plugins/amdgpu/impl/impl.cpp 4 - +++ b/libomptarget/plugins/amdgpu/impl/impl.cpp 5 - @@ -21,10 +21,11 @@ bool is_locked(void *ptr, hsa_status_t *err_p, void **agentBaseAddress) { 6 - info.size = sizeof(hsa_amd_pointer_info_t); 7 - err = hsa_amd_pointer_info(ptr, &info, nullptr, nullptr, nullptr); 8 - 9 - - if (err != HSA_STATUS_SUCCESS) 10 - + if (err != HSA_STATUS_SUCCESS) { 11 - DP("Error when getting pointer info\n"); 12 - - else 13 - + } else { 14 - is_locked = (info.type == HSA_EXT_POINTER_TYPE_LOCKED); 15 - + } 16 - 17 - if (is_locked && agentBaseAddress != nullptr) { 18 - // When user passes in a basePtr+offset we need to fix the
···
pkgs/development/compilers/llvm/rocm/1000-libcxx-failing-tests.list pkgs/development/rocm-modules/5/llvm/stage-2/1000-libcxx-failing-tests.list
-644
pkgs/development/compilers/llvm/rocm/default.nix
··· 1 - { lib 2 - , stdenv 3 - , callPackage 4 - , overrideCC 5 - , wrapCCWith 6 - , wrapBintoolsWith 7 - , runCommand 8 - , lit 9 - , glibc 10 - , spirv-llvm-translator 11 - , xz 12 - , swig 13 - , lua5_3 14 - , gtest 15 - , hip 16 - , rocm-comgr 17 - , vulkan-loader 18 - , vulkan-headers 19 - , glslang 20 - , shaderc 21 - , perl 22 - , rocm-device-libs 23 - , rocm-runtime 24 - , elfutils 25 - , graphviz 26 - , python3Packages 27 - }: 28 - 29 - let 30 - # Stage 1 31 - # Base 32 - llvm = callPackage ./llvm.nix { 33 - requiredSystemFeatures = [ "big-parallel" ]; 34 - isBroken = stdenv.isAarch64; # https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344 35 - }; 36 - 37 - # Projects 38 - clang-unwrapped = callPackage ./llvm.nix rec { 39 - targetName = "clang"; 40 - targetDir = targetName; 41 - extraBuildInputs = [ llvm ]; 42 - 43 - extraCMakeFlags = [ 44 - "-DCLANG_INCLUDE_DOCS=ON" 45 - "-DCLANG_INCLUDE_TESTS=ON" 46 - ]; 47 - 48 - extraPostPatch = '' 49 - # Looks like they forgot to add finding libedit to the standalone build 50 - ln -s ../cmake/Modules/FindLibEdit.cmake cmake/modules 51 - 52 - substituteInPlace CMakeLists.txt \ 53 - --replace "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)" 54 - 55 - # `No such file or directory: '/build/source/clang/tools/scan-build/bin/scan-build'` 56 - rm test/Analysis/scan-build/*.test 57 - rm test/Analysis/scan-build/rebuild_index/rebuild_index.test 58 - 59 - # `does not depend on a module exporting 'baz.h'` 60 - rm test/Modules/header-attribs.cpp 61 - 62 - # We do not have HIP or the ROCm stack available yet 63 - rm test/Driver/hip-options.hip 64 - 65 - # ???? `ld: cannot find crti.o: No such file or directory` linker issue? 66 - rm test/Interpreter/dynamic-library.cpp 67 - 68 - # `fatal error: 'stdio.h' file not found` 69 - rm test/OpenMP/amdgcn_emit_llvm.c 70 - ''; 71 - 72 - extraPostInstall = '' 73 - mv bin/clang-tblgen $out/bin 74 - ''; 75 - 76 - requiredSystemFeatures = [ "big-parallel" ]; 77 - }; 78 - 79 - lld = callPackage ./llvm.nix rec { 80 - buildMan = false; # No man pages to build 81 - targetName = "lld"; 82 - targetDir = targetName; 83 - extraBuildInputs = [ llvm ]; 84 - checkTargets = [ "check-${targetName}" ]; 85 - }; 86 - 87 - # Runtimes 88 - runtimes = callPackage ./llvm.nix rec { 89 - buildDocs = false; 90 - buildMan = false; 91 - buildTests = false; 92 - targetName = "runtimes"; 93 - targetDir = targetName; 94 - 95 - targetRuntimes = [ 96 - "libunwind" 97 - "libcxxabi" 98 - "libcxx" 99 - "compiler-rt" 100 - ]; 101 - 102 - extraBuildInputs = [ llvm ]; 103 - 104 - extraCMakeFlags = [ 105 - "-DLIBCXX_INCLUDE_BENCHMARKS=OFF" 106 - "-DLIBCXX_CXX_ABI=libcxxabi" 107 - ]; 108 - 109 - extraLicenses = [ lib.licenses.mit ]; 110 - }; 111 - 112 - # Stage 2 113 - # Helpers 114 - rStdenv = overrideCC stdenv (wrapCCWith rec { 115 - inherit bintools; 116 - libcxx = runtimes; 117 - cc = clang-unwrapped; 118 - 119 - extraPackages = [ 120 - llvm 121 - lld 122 - ]; 123 - 124 - nixSupport.cc-cflags = [ 125 - "-resource-dir=$out/resource-root" 126 - "-fuse-ld=lld" 127 - "-rtlib=compiler-rt" 128 - "-unwindlib=libunwind" 129 - "-Wno-unused-command-line-argument" 130 - ]; 131 - 132 - extraBuildCommands = '' 133 - clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 134 - mkdir -p $out/resource-root 135 - ln -s ${cc}/lib/clang/$clang_version/include $out/resource-root 136 - ln -s ${runtimes}/lib $out/resource-root 137 - ''; 138 - }); 139 - 140 - bintools = wrapBintoolsWith { bintools = bintools-unwrapped; }; 141 - 142 - bintools-unwrapped = runCommand "rocm-llvm-binutils-${llvm.version}" { preferLocalBuild = true; } '' 143 - mkdir -p $out/bin 144 - 145 - for prog in ${lld}/bin/*; do 146 - ln -s $prog $out/bin/$(basename $prog) 147 - done 148 - 149 - for prog in ${llvm}/bin/*; do 150 - ln -sf $prog $out/bin/$(basename $prog) 151 - done 152 - 153 - ln -s ${llvm}/bin/llvm-ar $out/bin/ar 154 - ln -s ${llvm}/bin/llvm-as $out/bin/as 155 - ln -s ${llvm}/bin/llvm-dwp $out/bin/dwp 156 - ln -s ${llvm}/bin/llvm-nm $out/bin/nm 157 - ln -s ${llvm}/bin/llvm-objcopy $out/bin/objcopy 158 - ln -s ${llvm}/bin/llvm-objdump $out/bin/objdump 159 - ln -s ${llvm}/bin/llvm-ranlib $out/bin/ranlib 160 - ln -s ${llvm}/bin/llvm-readelf $out/bin/readelf 161 - ln -s ${llvm}/bin/llvm-size $out/bin/size 162 - ln -s ${llvm}/bin/llvm-strip $out/bin/strip 163 - ln -s ${lld}/bin/lld $out/bin/ld 164 - ''; 165 - in rec { 166 - inherit 167 - llvm 168 - clang-unwrapped 169 - lld 170 - bintools 171 - bintools-unwrapped; 172 - 173 - # Runtimes 174 - libc = callPackage ./llvm.nix rec { 175 - stdenv = rStdenv; 176 - buildMan = false; # No man pages to build 177 - targetName = "libc"; 178 - targetDir = "runtimes"; 179 - targetRuntimes = [ targetName ]; 180 - 181 - extraPostPatch = '' 182 - # `Failed to match ... against ...` `Match value not within tolerance value of MPFR result:` 183 - # We need a better way, but I don't know enough sed magic and patching `CMakeLists.txt` isn't working... 184 - substituteInPlace ../libc/test/src/math/log10_test.cpp \ 185 - --replace "i < N" "i < 0" \ 186 - --replace "test(mpfr::RoundingMode::Nearest);" "" \ 187 - --replace "test(mpfr::RoundingMode::Downward);" "" \ 188 - --replace "test(mpfr::RoundingMode::Upward);" "" \ 189 - --replace "test(mpfr::RoundingMode::TowardZero);" "" 190 - ''; 191 - 192 - checkTargets = [ "check-${targetName}" ]; 193 - hardeningDisable = [ "fortify" ]; # Prevent `error: "Assumed value of MB_LEN_MAX wrong"` 194 - }; 195 - 196 - libunwind = callPackage ./llvm.nix rec { 197 - stdenv = rStdenv; 198 - buildMan = false; # No man pages to build 199 - targetName = "libunwind"; 200 - targetDir = "runtimes"; 201 - targetRuntimes = [ targetName ]; 202 - 203 - extraCMakeFlags = [ 204 - "-DLIBUNWIND_INCLUDE_DOCS=ON" 205 - "-DLIBUNWIND_INCLUDE_TESTS=ON" 206 - "-DLIBUNWIND_USE_COMPILER_RT=ON" 207 - ]; 208 - 209 - extraPostPatch = '' 210 - # `command had no output on stdout or stderr` (Says these unsupported tests) 211 - chmod +w -R ../libunwind/test 212 - rm ../libunwind/test/floatregister.pass.cpp 213 - rm ../libunwind/test/unwind_leaffunction.pass.cpp 214 - rm ../libunwind/test/libunwind_02.pass.cpp 215 - ''; 216 - }; 217 - 218 - libcxxabi = callPackage ./llvm.nix rec { 219 - stdenv = rStdenv; 220 - buildDocs = false; # No documentation to build 221 - buildMan = false; # No man pages to build 222 - targetName = "libcxxabi"; 223 - targetDir = "runtimes"; 224 - 225 - targetRuntimes = [ 226 - "libunwind" 227 - targetName 228 - "libcxx" 229 - ]; 230 - 231 - extraCMakeFlags = [ 232 - "-DLIBCXXABI_INCLUDE_TESTS=ON" 233 - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 234 - "-DLIBCXXABI_USE_COMPILER_RT=ON" 235 - 236 - # Workaround having to build combined 237 - "-DLIBUNWIND_INCLUDE_DOCS=OFF" 238 - "-DLIBUNWIND_INCLUDE_TESTS=OFF" 239 - "-DLIBUNWIND_USE_COMPILER_RT=ON" 240 - "-DLIBUNWIND_INSTALL_LIBRARY=OFF" 241 - "-DLIBUNWIND_INSTALL_HEADERS=OFF" 242 - "-DLIBCXX_INCLUDE_DOCS=OFF" 243 - "-DLIBCXX_INCLUDE_TESTS=OFF" 244 - "-DLIBCXX_USE_COMPILER_RT=ON" 245 - "-DLIBCXX_CXX_ABI=libcxxabi" 246 - "-DLIBCXX_INSTALL_LIBRARY=OFF" 247 - "-DLIBCXX_INSTALL_HEADERS=OFF" 248 - ]; 249 - }; 250 - 251 - libcxx = callPackage ./llvm.nix rec { 252 - stdenv = rStdenv; 253 - buildMan = false; # No man pages to build 254 - targetName = "libcxx"; 255 - targetDir = "runtimes"; 256 - 257 - targetRuntimes = [ 258 - "libunwind" 259 - "libcxxabi" 260 - targetName 261 - ]; 262 - 263 - extraCMakeFlags = [ 264 - "-DLIBCXX_INCLUDE_DOCS=ON" 265 - "-DLIBCXX_INCLUDE_TESTS=ON" 266 - "-DLIBCXX_USE_COMPILER_RT=ON" 267 - "-DLIBCXX_CXX_ABI=libcxxabi" 268 - 269 - # Workaround having to build combined 270 - "-DLIBUNWIND_INCLUDE_DOCS=OFF" 271 - "-DLIBUNWIND_INCLUDE_TESTS=OFF" 272 - "-DLIBUNWIND_USE_COMPILER_RT=ON" 273 - "-DLIBUNWIND_INSTALL_LIBRARY=OFF" 274 - "-DLIBUNWIND_INSTALL_HEADERS=OFF" 275 - "-DLIBCXXABI_INCLUDE_TESTS=OFF" 276 - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 277 - "-DLIBCXXABI_USE_COMPILER_RT=ON" 278 - "-DLIBCXXABI_INSTALL_LIBRARY=OFF" 279 - "-DLIBCXXABI_INSTALL_HEADERS=OFF" 280 - ]; 281 - 282 - # Most of these can't find `bash` or `mkdir`, might just be hard-coded paths, or PATH is altered 283 - extraPostPatch = '' 284 - chmod +w -R ../libcxx/test/{libcxx,std} 285 - cat ${./1000-libcxx-failing-tests.list} | xargs -d \\n rm 286 - ''; 287 - }; 288 - 289 - compiler-rt = callPackage ./llvm.nix rec { 290 - stdenv = rStdenv; 291 - buildDocs = false; # No documentation to build 292 - buildMan = false; # No man pages to build 293 - targetName = "compiler-rt"; 294 - targetDir = "runtimes"; 295 - 296 - targetRuntimes = [ 297 - "libunwind" 298 - "libcxxabi" 299 - "libcxx" 300 - targetName 301 - ]; 302 - 303 - extraCMakeFlags = [ 304 - "-DCOMPILER_RT_INCLUDE_TESTS=ON" 305 - "-DCOMPILER_RT_USE_LLVM_UNWINDER=ON" 306 - "-DCOMPILER_RT_CXX_LIBRARY=libcxx" 307 - "-DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF" # We can't run most of these 308 - 309 - # Workaround having to build combined 310 - "-DLIBUNWIND_INCLUDE_DOCS=OFF" 311 - "-DLIBUNWIND_INCLUDE_TESTS=OFF" 312 - "-DLIBUNWIND_USE_COMPILER_RT=ON" 313 - "-DLIBUNWIND_INSTALL_LIBRARY=OFF" 314 - "-DLIBUNWIND_INSTALL_HEADERS=OFF" 315 - "-DLIBCXXABI_INCLUDE_TESTS=OFF" 316 - "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 317 - "-DLIBCXXABI_USE_COMPILER_RT=ON" 318 - "-DLIBCXXABI_INSTALL_LIBRARY=OFF" 319 - "-DLIBCXXABI_INSTALL_HEADERS=OFF" 320 - "-DLIBCXX_INCLUDE_DOCS=OFF" 321 - "-DLIBCXX_INCLUDE_TESTS=OFF" 322 - "-DLIBCXX_USE_COMPILER_RT=ON" 323 - "-DLIBCXX_CXX_ABI=libcxxabi" 324 - "-DLIBCXX_INSTALL_LIBRARY=OFF" 325 - "-DLIBCXX_INSTALL_HEADERS=OFF" 326 - ]; 327 - 328 - extraPostPatch = '' 329 - # `No such file or directory: 'ldd'` 330 - substituteInPlace ../compiler-rt/test/lit.common.cfg.py \ 331 - --replace "'ldd'," "'${glibc.bin}/bin/ldd'," 332 - 333 - # We can run these 334 - substituteInPlace ../compiler-rt/test/CMakeLists.txt \ 335 - --replace "endfunction()" "endfunction()''\nadd_subdirectory(builtins)''\nadd_subdirectory(shadowcallstack)" 336 - 337 - # Could not launch llvm-config in /build/source/runtimes/build/bin 338 - mkdir -p build/bin 339 - ln -s ${llvm}/bin/llvm-config build/bin 340 - ''; 341 - 342 - extraLicenses = [ lib.licenses.mit ]; 343 - }; 344 - 345 - # Stage 3 346 - # Helpers 347 - rocmClangStdenv = overrideCC stdenv clang; 348 - 349 - clang = wrapCCWith rec { 350 - inherit libcxx bintools; 351 - 352 - # We do this to avoid HIP pathing problems, and mimic a monolithic install 353 - cc = stdenv.mkDerivation (finalAttrs: { 354 - inherit (clang-unwrapped) pname version; 355 - dontUnpack = true; 356 - 357 - installPhase = '' 358 - runHook preInstall 359 - 360 - clang_version=`${clang-unwrapped}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 361 - mkdir -p $out/{bin,include/c++/v1,lib/{cmake,clang/$clang_version/{include,lib}},libexec,share} 362 - 363 - for path in ${llvm} ${clang-unwrapped} ${lld} ${libc} ${libunwind} ${libcxxabi} ${libcxx} ${compiler-rt}; do 364 - cp -as $path/* $out 365 - chmod +w $out/{*,include/c++/v1,lib/{clang/$clang_version/include,cmake}} 366 - rm -f $out/lib/libc++.so 367 - done 368 - 369 - ln -s $out/lib/* $out/lib/clang/$clang_version/lib 370 - ln -sf $out/include/* $out/lib/clang/$clang_version/include 371 - 372 - runHook postInstall 373 - ''; 374 - 375 - passthru.isClang = true; 376 - }); 377 - 378 - extraPackages = [ 379 - llvm 380 - lld 381 - libc 382 - libunwind 383 - libcxxabi 384 - compiler-rt 385 - ]; 386 - 387 - nixSupport.cc-cflags = [ 388 - "-resource-dir=$out/resource-root" 389 - "-fuse-ld=lld" 390 - "-rtlib=compiler-rt" 391 - "-unwindlib=libunwind" 392 - "-Wno-unused-command-line-argument" 393 - ]; 394 - 395 - extraBuildCommands = '' 396 - clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 397 - mkdir -p $out/resource-root 398 - ln -s ${cc}/lib/clang/$clang_version/{include,lib} $out/resource-root 399 - 400 - # Not sure why, but hardening seems to make things break 401 - echo "" > $out/nix-support/add-hardening.sh 402 - 403 - # GPU compilation uses builtin `lld` 404 - substituteInPlace $out/bin/{clang,clang++} \ 405 - --replace "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;" 406 - ''; 407 - }; 408 - 409 - # Base 410 - # Unfortunately, we cannot build `clang-tools-extra` separately. 411 - clang-tools-extra = callPackage ./llvm.nix { 412 - stdenv = rocmClangStdenv; 413 - buildTests = false; # `invalid operands to binary expression ('std::basic_stringstream<char>' and 'const llvm::StringRef')` 414 - targetName = "clang-tools-extra"; 415 - 416 - targetProjects = [ 417 - "clang" 418 - "clang-tools-extra" 419 - ]; 420 - 421 - extraBuildInputs = [ gtest ]; 422 - 423 - extraCMakeFlags = [ 424 - "-DLLVM_INCLUDE_DOCS=OFF" 425 - "-DLLVM_INCLUDE_TESTS=OFF" 426 - "-DCLANG_INCLUDE_DOCS=OFF" 427 - "-DCLANG_INCLUDE_TESTS=ON" 428 - "-DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON" 429 - ]; 430 - 431 - extraPostInstall = '' 432 - # Remove LLVM and Clang 433 - for path in `find ${llvm} ${clang-unwrapped}`; do 434 - if [ $path != ${llvm} ] && [ $path != ${clang-unwrapped} ]; then 435 - rm -f $out''${path#${llvm}} $out''${path#${clang-unwrapped}} || true 436 - fi 437 - done 438 - 439 - # Cleanup empty directories 440 - find $out -type d -empty -delete 441 - ''; 442 - 443 - requiredSystemFeatures = [ "big-parallel" ]; 444 - }; 445 - 446 - # Projects 447 - libclc = let 448 - spirv = (spirv-llvm-translator.override { inherit llvm; }); 449 - in callPackage ./llvm.nix rec { 450 - stdenv = rocmClangStdenv; 451 - buildDocs = false; # No documentation to build 452 - buildMan = false; # No man pages to build 453 - targetName = "libclc"; 454 - targetDir = targetName; 455 - extraBuildInputs = [ spirv ]; 456 - 457 - # `spirv-mesa3d` isn't compiling with LLVM 15.0.0, it does with LLVM 14.0.0 458 - # Try removing the `spirv-mesa3d` and `clspv` patches next update 459 - # `clspv` tests fail, unresolved calls 460 - extraPostPatch = '' 461 - substituteInPlace CMakeLists.txt \ 462 - --replace "find_program( LLVM_CLANG clang PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ 463 - "find_program( LLVM_CLANG clang PATHS \"${clang}/bin\" NO_DEFAULT_PATH )" \ 464 - --replace "find_program( LLVM_SPIRV llvm-spirv PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ 465 - "find_program( LLVM_SPIRV llvm-spirv PATHS \"${spirv}/bin\" NO_DEFAULT_PATH )" \ 466 - --replace " spirv-mesa3d-" "" \ 467 - --replace " spirv64-mesa3d-" "" \ 468 - --replace "NOT \''${t} MATCHES" \ 469 - "NOT \''${ARCH} STREQUAL \"clspv\" AND NOT \''${ARCH} STREQUAL \"clspv64\" AND NOT \''${t} MATCHES" 470 - ''; 471 - 472 - checkTargets = [ ]; 473 - isBroken = true; # ROCm 5.7.0 doesn't have IR/AttributeMask.h yet...? 474 - }; 475 - 476 - lldb = callPackage ./llvm.nix rec { 477 - stdenv = rocmClangStdenv; 478 - buildTests = false; # FIXME: Bad pathing for clang executable in tests, using relative path most likely 479 - targetName = "lldb"; 480 - targetDir = targetName; 481 - extraNativeBuildInputs = [ python3Packages.sphinx-automodapi ]; 482 - 483 - extraBuildInputs = [ 484 - xz 485 - swig 486 - lua5_3 487 - gtest 488 - graphviz 489 - ]; 490 - 491 - extraCMakeFlags = [ 492 - "-DLLDB_EXTERNAL_CLANG_RESOURCE_DIR=${clang}/resource-root/lib/clang/$clang_version" 493 - "-DLLDB_INCLUDE_TESTS=ON" 494 - "-DLLDB_INCLUDE_UNITTESTS=ON" 495 - ]; 496 - 497 - extraPostPatch = '' 498 - export clang_version=`clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 499 - ''; 500 - 501 - checkTargets = [ "check-${targetName}" ]; 502 - }; 503 - 504 - mlir = callPackage ./llvm.nix rec { 505 - stdenv = rocmClangStdenv; 506 - buildDocs = false; # No decent way to hack this to work 507 - buildMan = false; # No man pages to build 508 - targetName = "mlir"; 509 - targetDir = targetName; 510 - extraNativeBuildInputs = [ hip ]; 511 - 512 - extraBuildInputs = [ 513 - rocm-comgr 514 - vulkan-headers 515 - vulkan-loader 516 - glslang 517 - shaderc 518 - ]; 519 - 520 - extraCMakeFlags = [ 521 - "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW" 522 - "-DMLIR_INCLUDE_DOCS=ON" 523 - "-DMLIR_INCLUDE_TESTS=ON" 524 - "-DMLIR_ENABLE_ROCM_RUNNER=ON" 525 - "-DMLIR_ENABLE_SPIRV_CPU_RUNNER=ON" 526 - "-DMLIR_ENABLE_VULKAN_RUNNER=ON" 527 - "-DROCM_TEST_CHIPSET=gfx000" # CPU runner 528 - ]; 529 - 530 - extraPostPatch = '' 531 - chmod +w ../llvm 532 - mkdir -p ../llvm/build/bin 533 - ln -s ${lit}/bin/lit ../llvm/build/bin/llvm-lit 534 - 535 - substituteInPlace test/CMakeLists.txt \ 536 - --replace "FileCheck count not" "" \ 537 - --replace "list(APPEND MLIR_TEST_DEPENDS mlir_rocm_runtime)" "" 538 - 539 - substituteInPlace lib/ExecutionEngine/CMakeLists.txt \ 540 - --replace "return()" "" 541 - 542 - # Remove problematic tests 543 - rm test/CAPI/execution_engine.c 544 - rm test/Target/LLVMIR/llvmir-intrinsics.mlir 545 - rm test/Target/LLVMIR/llvmir.mlir 546 - rm test/Target/LLVMIR/openmp-llvm.mlir 547 - rm test/mlir-cpu-runner/*.mlir 548 - rm test/mlir-vulkan-runner/*.mlir 549 - ''; 550 - 551 - extraPostInstall = '' 552 - mkdir -p $out/bin 553 - mv bin/mlir-tblgen $out/bin 554 - ''; 555 - 556 - checkTargets = [ "check-${targetName}" ]; 557 - requiredSystemFeatures = [ "big-parallel" ]; 558 - }; 559 - 560 - polly = callPackage ./llvm.nix rec { 561 - stdenv = rocmClangStdenv; 562 - targetName = "polly"; 563 - targetDir = targetName; 564 - 565 - extraPostPatch = '' 566 - # `add_library cannot create target "llvm_gtest" because an imported target with the same name already exists` 567 - substituteInPlace CMakeLists.txt \ 568 - --replace "NOT TARGET gtest" "FALSE" 569 - ''; 570 - 571 - checkTargets = [ "check-${targetName}" ]; 572 - }; 573 - 574 - flang = callPackage ./llvm.nix rec { 575 - stdenv = rocmClangStdenv; 576 - buildTests = false; # `Executable "flang1" doesn't exist!` 577 - targetName = "flang"; 578 - targetDir = targetName; 579 - extraNativeBuildInputs = [ python3Packages.sphinx-markdown-tables ]; 580 - extraBuildInputs = [ mlir ]; 581 - 582 - extraCMakeFlags = [ 583 - "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW" 584 - "-DCLANG_DIR=${clang-unwrapped}/lib/cmake/clang" 585 - "-DFLANG_INCLUDE_TESTS=OFF" 586 - "-DMLIR_TABLEGEN_EXE=${mlir}/bin/mlir-tblgen" 587 - ]; 588 - 589 - extraPostPatch = '' 590 - substituteInPlace test/CMakeLists.txt \ 591 - --replace "FileCheck" "" \ 592 - --replace "count" "" \ 593 - --replace "not" "" 594 - 595 - substituteInPlace docs/CMakeLists.txt \ 596 - --replace "CLANG_TABLEGEN_EXE clang-tblgen" "CLANG_TABLEGEN_EXE ${clang-unwrapped}/bin/clang-tblgen" 597 - ''; 598 - }; 599 - 600 - openmp = callPackage ./llvm.nix rec { 601 - stdenv = rocmClangStdenv; 602 - buildTests = false; # Too many failures, most pass 603 - targetName = "openmp"; 604 - targetDir = targetName; 605 - extraPatches = [ ./0000-fix-openmp.patch ]; 606 - extraNativeBuildInputs = [ perl ]; 607 - 608 - extraBuildInputs = [ 609 - rocm-device-libs 610 - rocm-runtime 611 - elfutils 612 - ]; 613 - 614 - extraCMakeFlags = [ 615 - "-DCMAKE_MODULE_PATH=/build/source/llvm/cmake/modules" # For docs 616 - "-DCLANG_TOOL=${clang}/bin/clang" 617 - "-DCLANG_OFFLOAD_BUNDLER_TOOL=${clang-unwrapped}/bin/clang-offload-bundler" 618 - "-DOPENMP_LLVM_TOOLS_DIR=${llvm}/bin" 619 - "-DOPENMP_LLVM_LIT_EXECUTABLE=${lit}/bin/.lit-wrapped" 620 - "-DDEVICELIBS_ROOT=${rocm-device-libs.src}" 621 - ]; 622 - 623 - extraPostPatch = '' 624 - # We can't build this target at the moment 625 - substituteInPlace libomptarget/DeviceRTL/CMakeLists.txt \ 626 - --replace "gfx1010" "" 627 - ''; 628 - 629 - checkTargets = [ "check-${targetName}" ]; 630 - extraLicenses = [ lib.licenses.mit ]; 631 - }; 632 - 633 - # Runtimes 634 - pstl = callPackage ./llvm.nix rec { 635 - stdenv = rocmClangStdenv; 636 - buildDocs = false; # No documentation to build 637 - buildMan = false; # No man pages to build 638 - buildTests = false; # Too many errors 639 - targetName = "pstl"; 640 - targetDir = "runtimes"; 641 - targetRuntimes = [ targetName ]; 642 - checkTargets = [ "check-${targetName}" ]; 643 - }; 644 - }
···
pkgs/development/compilers/llvm/rocm/llvm.nix pkgs/development/rocm-modules/5/llvm/base.nix
+9
pkgs/development/rocm-modules/5/default.nix
···
··· 1 + { callPackage 2 + , recurseIntoAttrs 3 + }: 4 + 5 + let 6 + rocmUpdateScript = callPackage ./update.nix { }; 7 + in { 8 + llvm = recurseIntoAttrs (callPackage ./llvm/default.nix { inherit rocmUpdateScript; }); 9 + }
+53
pkgs/development/rocm-modules/5/llvm/default.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + , wrapBintoolsWith 5 + , overrideCC 6 + }: 7 + 8 + let 9 + ## Stage 1 ## 10 + # Projects 11 + llvm = callPackage ./stage-1/llvm.nix { inherit rocmUpdateScript; }; 12 + clang-unwrapped = callPackage ./stage-1/clang-unwrapped.nix { inherit rocmUpdateScript llvm; }; 13 + lld = callPackage ./stage-1/lld.nix { inherit rocmUpdateScript llvm; }; 14 + 15 + # Runtimes 16 + runtimes = callPackage ./stage-1/runtimes.nix { inherit rocmUpdateScript llvm; }; 17 + 18 + ## Stage 2 ## 19 + # Helpers 20 + bintools-unwrapped = callPackage ./stage-2/bintools-unwrapped.nix { inherit llvm lld; }; 21 + bintools = wrapBintoolsWith { bintools = bintools-unwrapped; }; 22 + rStdenv = callPackage ./stage-2/rstdenv.nix { inherit llvm clang-unwrapped lld runtimes bintools; }; 23 + in rec { 24 + inherit 25 + llvm 26 + clang-unwrapped 27 + lld 28 + bintools; 29 + 30 + # Runtimes 31 + libc = callPackage ./stage-2/libc.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; 32 + libunwind = callPackage ./stage-2/libunwind.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; 33 + libcxxabi = callPackage ./stage-2/libcxxabi.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; 34 + libcxx = callPackage ./stage-2/libcxx.nix { inherit rocmUpdateScript; stdenv = rStdenv; }; 35 + compiler-rt = callPackage ./stage-2/compiler-rt.nix { inherit rocmUpdateScript llvm; stdenv = rStdenv; }; 36 + 37 + ## Stage 3 ## 38 + # Helpers 39 + clang = callPackage ./stage-3/clang.nix { inherit llvm lld clang-unwrapped bintools libc libunwind libcxxabi libcxx compiler-rt; }; 40 + rocmClangStdenv = overrideCC stdenv clang; 41 + 42 + # Projects 43 + clang-tools-extra = callPackage ./stage-3/clang-tools-extra.nix { inherit rocmUpdateScript llvm clang-unwrapped; stdenv = rocmClangStdenv; }; 44 + libclc = callPackage ./stage-3/libclc.nix { inherit rocmUpdateScript llvm clang; stdenv = rocmClangStdenv; }; 45 + lldb = callPackage ./stage-3/lldb.nix { inherit rocmUpdateScript clang; stdenv = rocmClangStdenv; }; 46 + mlir = callPackage ./stage-3/mlir.nix { inherit rocmUpdateScript; stdenv = rocmClangStdenv; }; 47 + polly = callPackage ./stage-3/polly.nix { inherit rocmUpdateScript; stdenv = rocmClangStdenv; }; 48 + flang = callPackage ./stage-3/flang.nix { inherit rocmUpdateScript clang-unwrapped mlir; stdenv = rocmClangStdenv; }; 49 + openmp = callPackage ./stage-3/openmp.nix { inherit rocmUpdateScript llvm clang-unwrapped clang; stdenv = rocmClangStdenv; }; 50 + 51 + # Runtimes 52 + pstl = callPackage ./stage-3/pstl.nix { inherit rocmUpdateScript; stdenv = rocmClangStdenv; }; 53 + }
+46
pkgs/development/rocm-modules/5/llvm/stage-1/clang-unwrapped.nix
···
··· 1 + { callPackage 2 + , rocmUpdateScript 3 + , llvm 4 + }: 5 + 6 + callPackage ../base.nix rec { 7 + inherit rocmUpdateScript; 8 + targetName = "clang-unwrapped"; 9 + targetDir = "clang"; 10 + extraBuildInputs = [ llvm ]; 11 + 12 + extraCMakeFlags = [ 13 + "-DCLANG_INCLUDE_DOCS=ON" 14 + "-DCLANG_INCLUDE_TESTS=ON" 15 + ]; 16 + 17 + extraPostPatch = '' 18 + # Looks like they forgot to add finding libedit to the standalone build 19 + ln -s ../cmake/Modules/FindLibEdit.cmake cmake/modules 20 + 21 + substituteInPlace CMakeLists.txt \ 22 + --replace "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)" 23 + 24 + # `No such file or directory: '/build/source/clang/tools/scan-build/bin/scan-build'` 25 + rm test/Analysis/scan-build/*.test 26 + rm test/Analysis/scan-build/rebuild_index/rebuild_index.test 27 + 28 + # `does not depend on a module exporting 'baz.h'` 29 + rm test/Modules/header-attribs.cpp 30 + 31 + # We do not have HIP or the ROCm stack available yet 32 + rm test/Driver/hip-options.hip 33 + 34 + # ???? `ld: cannot find crti.o: No such file or directory` linker issue? 35 + rm test/Interpreter/dynamic-library.cpp 36 + 37 + # `fatal error: 'stdio.h' file not found` 38 + rm test/OpenMP/amdgcn_emit_llvm.c 39 + ''; 40 + 41 + extraPostInstall = '' 42 + mv bin/clang-tblgen $out/bin 43 + ''; 44 + 45 + requiredSystemFeatures = [ "big-parallel" ]; 46 + }
+13
pkgs/development/rocm-modules/5/llvm/stage-1/lld.nix
···
··· 1 + { callPackage 2 + , rocmUpdateScript 3 + , llvm 4 + }: 5 + 6 + callPackage ../base.nix rec { 7 + inherit rocmUpdateScript; 8 + buildMan = false; # No man pages to build 9 + targetName = "lld"; 10 + targetDir = targetName; 11 + extraBuildInputs = [ llvm ]; 12 + checkTargets = [ "check-${targetName}" ]; 13 + }
+10
pkgs/development/rocm-modules/5/llvm/stage-1/llvm.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + }: 5 + 6 + callPackage ../base.nix { 7 + inherit rocmUpdateScript; 8 + requiredSystemFeatures = [ "big-parallel" ]; 9 + isBroken = stdenv.isAarch64; # https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344 10 + }
+30
pkgs/development/rocm-modules/5/llvm/stage-1/runtimes.nix
···
··· 1 + { lib 2 + , callPackage 3 + , rocmUpdateScript 4 + , llvm 5 + }: 6 + 7 + callPackage ../base.nix rec { 8 + inherit rocmUpdateScript; 9 + buildDocs = false; 10 + buildMan = false; 11 + buildTests = false; 12 + targetName = "runtimes"; 13 + targetDir = targetName; 14 + 15 + targetRuntimes = [ 16 + "libunwind" 17 + "libcxxabi" 18 + "libcxx" 19 + "compiler-rt" 20 + ]; 21 + 22 + extraBuildInputs = [ llvm ]; 23 + 24 + extraCMakeFlags = [ 25 + "-DLIBCXX_INCLUDE_BENCHMARKS=OFF" 26 + "-DLIBCXX_CXX_ABI=libcxxabi" 27 + ]; 28 + 29 + extraLicenses = [ lib.licenses.mit ]; 30 + }
+28
pkgs/development/rocm-modules/5/llvm/stage-2/bintools-unwrapped.nix
···
··· 1 + { runCommand 2 + , llvm 3 + , lld 4 + }: 5 + 6 + runCommand "rocm-llvm-binutils-${llvm.version}" { preferLocalBuild = true; } '' 7 + mkdir -p $out/bin 8 + 9 + for prog in ${lld}/bin/*; do 10 + ln -s $prog $out/bin/$(basename $prog) 11 + done 12 + 13 + for prog in ${llvm}/bin/*; do 14 + ln -sf $prog $out/bin/$(basename $prog) 15 + done 16 + 17 + ln -s ${llvm}/bin/llvm-ar $out/bin/ar 18 + ln -s ${llvm}/bin/llvm-as $out/bin/as 19 + ln -s ${llvm}/bin/llvm-dwp $out/bin/dwp 20 + ln -s ${llvm}/bin/llvm-nm $out/bin/nm 21 + ln -s ${llvm}/bin/llvm-objcopy $out/bin/objcopy 22 + ln -s ${llvm}/bin/llvm-objdump $out/bin/objdump 23 + ln -s ${llvm}/bin/llvm-ranlib $out/bin/ranlib 24 + ln -s ${llvm}/bin/llvm-readelf $out/bin/readelf 25 + ln -s ${llvm}/bin/llvm-size $out/bin/size 26 + ln -s ${llvm}/bin/llvm-strip $out/bin/strip 27 + ln -s ${lld}/bin/lld $out/bin/ld 28 + ''
+63
pkgs/development/rocm-modules/5/llvm/stage-2/compiler-rt.nix
···
··· 1 + { lib 2 + , stdenv 3 + , callPackage 4 + , rocmUpdateScript 5 + , llvm 6 + , glibc 7 + }: 8 + 9 + callPackage ../base.nix rec { 10 + inherit stdenv rocmUpdateScript; 11 + buildDocs = false; # No documentation to build 12 + buildMan = false; # No man pages to build 13 + targetName = "compiler-rt"; 14 + targetDir = "runtimes"; 15 + 16 + targetRuntimes = [ 17 + "libunwind" 18 + "libcxxabi" 19 + "libcxx" 20 + targetName 21 + ]; 22 + 23 + extraCMakeFlags = [ 24 + "-DCOMPILER_RT_INCLUDE_TESTS=ON" 25 + "-DCOMPILER_RT_USE_LLVM_UNWINDER=ON" 26 + "-DCOMPILER_RT_CXX_LIBRARY=libcxx" 27 + "-DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF" # We can't run most of these 28 + 29 + # Workaround having to build combined 30 + "-DLIBUNWIND_INCLUDE_DOCS=OFF" 31 + "-DLIBUNWIND_INCLUDE_TESTS=OFF" 32 + "-DLIBUNWIND_USE_COMPILER_RT=ON" 33 + "-DLIBUNWIND_INSTALL_LIBRARY=OFF" 34 + "-DLIBUNWIND_INSTALL_HEADERS=OFF" 35 + "-DLIBCXXABI_INCLUDE_TESTS=OFF" 36 + "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 37 + "-DLIBCXXABI_USE_COMPILER_RT=ON" 38 + "-DLIBCXXABI_INSTALL_LIBRARY=OFF" 39 + "-DLIBCXXABI_INSTALL_HEADERS=OFF" 40 + "-DLIBCXX_INCLUDE_DOCS=OFF" 41 + "-DLIBCXX_INCLUDE_TESTS=OFF" 42 + "-DLIBCXX_USE_COMPILER_RT=ON" 43 + "-DLIBCXX_CXX_ABI=libcxxabi" 44 + "-DLIBCXX_INSTALL_LIBRARY=OFF" 45 + "-DLIBCXX_INSTALL_HEADERS=OFF" 46 + ]; 47 + 48 + extraPostPatch = '' 49 + # `No such file or directory: 'ldd'` 50 + substituteInPlace ../compiler-rt/test/lit.common.cfg.py \ 51 + --replace "'ldd'," "'${glibc.bin}/bin/ldd'," 52 + 53 + # We can run these 54 + substituteInPlace ../compiler-rt/test/CMakeLists.txt \ 55 + --replace "endfunction()" "endfunction()''\nadd_subdirectory(builtins)''\nadd_subdirectory(shadowcallstack)" 56 + 57 + # Could not launch llvm-config in /build/source/runtimes/build/bin 58 + mkdir -p build/bin 59 + ln -s ${llvm}/bin/llvm-config build/bin 60 + ''; 61 + 62 + extraLicenses = [ lib.licenses.mit ]; 63 + }
+26
pkgs/development/rocm-modules/5/llvm/stage-2/libc.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + }: 5 + 6 + callPackage ../base.nix rec { 7 + inherit stdenv rocmUpdateScript; 8 + buildMan = false; # No man pages to build 9 + targetName = "libc"; 10 + targetDir = "runtimes"; 11 + targetRuntimes = [ targetName ]; 12 + 13 + extraPostPatch = '' 14 + # `Failed to match ... against ...` `Match value not within tolerance value of MPFR result:` 15 + # We need a better way, but I don't know enough sed magic and patching `CMakeLists.txt` isn't working... 16 + substituteInPlace ../libc/test/src/math/log10_test.cpp \ 17 + --replace "i < N" "i < 0" \ 18 + --replace "test(mpfr::RoundingMode::Nearest);" "" \ 19 + --replace "test(mpfr::RoundingMode::Downward);" "" \ 20 + --replace "test(mpfr::RoundingMode::Upward);" "" \ 21 + --replace "test(mpfr::RoundingMode::TowardZero);" "" 22 + ''; 23 + 24 + checkTargets = [ "check-${targetName}" ]; 25 + hardeningDisable = [ "fortify" ]; # Prevent `error: "Assumed value of MB_LEN_MAX wrong"` 26 + }
+42
pkgs/development/rocm-modules/5/llvm/stage-2/libcxx.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + }: 5 + 6 + callPackage ../base.nix rec { 7 + inherit stdenv rocmUpdateScript; 8 + buildMan = false; # No man pages to build 9 + targetName = "libcxx"; 10 + targetDir = "runtimes"; 11 + 12 + targetRuntimes = [ 13 + "libunwind" 14 + "libcxxabi" 15 + targetName 16 + ]; 17 + 18 + extraCMakeFlags = [ 19 + "-DLIBCXX_INCLUDE_DOCS=ON" 20 + "-DLIBCXX_INCLUDE_TESTS=ON" 21 + "-DLIBCXX_USE_COMPILER_RT=ON" 22 + "-DLIBCXX_CXX_ABI=libcxxabi" 23 + 24 + # Workaround having to build combined 25 + "-DLIBUNWIND_INCLUDE_DOCS=OFF" 26 + "-DLIBUNWIND_INCLUDE_TESTS=OFF" 27 + "-DLIBUNWIND_USE_COMPILER_RT=ON" 28 + "-DLIBUNWIND_INSTALL_LIBRARY=OFF" 29 + "-DLIBUNWIND_INSTALL_HEADERS=OFF" 30 + "-DLIBCXXABI_INCLUDE_TESTS=OFF" 31 + "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 32 + "-DLIBCXXABI_USE_COMPILER_RT=ON" 33 + "-DLIBCXXABI_INSTALL_LIBRARY=OFF" 34 + "-DLIBCXXABI_INSTALL_HEADERS=OFF" 35 + ]; 36 + 37 + # Most of these can't find `bash` or `mkdir`, might just be hard-coded paths, or PATH is altered 38 + extraPostPatch = '' 39 + chmod +w -R ../libcxx/test/{libcxx,std} 40 + cat ${./1000-libcxx-failing-tests.list} | xargs -d \\n rm 41 + ''; 42 + }
+37
pkgs/development/rocm-modules/5/llvm/stage-2/libcxxabi.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + }: 5 + 6 + callPackage ../base.nix rec { 7 + inherit stdenv rocmUpdateScript; 8 + buildDocs = false; # No documentation to build 9 + buildMan = false; # No man pages to build 10 + targetName = "libcxxabi"; 11 + targetDir = "runtimes"; 12 + 13 + targetRuntimes = [ 14 + "libunwind" 15 + targetName 16 + "libcxx" 17 + ]; 18 + 19 + extraCMakeFlags = [ 20 + "-DLIBCXXABI_INCLUDE_TESTS=ON" 21 + "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" 22 + "-DLIBCXXABI_USE_COMPILER_RT=ON" 23 + 24 + # Workaround having to build combined 25 + "-DLIBUNWIND_INCLUDE_DOCS=OFF" 26 + "-DLIBUNWIND_INCLUDE_TESTS=OFF" 27 + "-DLIBUNWIND_USE_COMPILER_RT=ON" 28 + "-DLIBUNWIND_INSTALL_LIBRARY=OFF" 29 + "-DLIBUNWIND_INSTALL_HEADERS=OFF" 30 + "-DLIBCXX_INCLUDE_DOCS=OFF" 31 + "-DLIBCXX_INCLUDE_TESTS=OFF" 32 + "-DLIBCXX_USE_COMPILER_RT=ON" 33 + "-DLIBCXX_CXX_ABI=libcxxabi" 34 + "-DLIBCXX_INSTALL_LIBRARY=OFF" 35 + "-DLIBCXX_INSTALL_HEADERS=OFF" 36 + ]; 37 + }
+26
pkgs/development/rocm-modules/5/llvm/stage-2/libunwind.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + }: 5 + 6 + callPackage ../base.nix rec { 7 + inherit stdenv rocmUpdateScript; 8 + buildMan = false; # No man pages to build 9 + targetName = "libunwind"; 10 + targetDir = "runtimes"; 11 + targetRuntimes = [ targetName ]; 12 + 13 + extraCMakeFlags = [ 14 + "-DLIBUNWIND_INCLUDE_DOCS=ON" 15 + "-DLIBUNWIND_INCLUDE_TESTS=ON" 16 + "-DLIBUNWIND_USE_COMPILER_RT=ON" 17 + ]; 18 + 19 + extraPostPatch = '' 20 + # `command had no output on stdout or stderr` (Says these unsupported tests) 21 + chmod +w -R ../libunwind/test 22 + rm ../libunwind/test/floatregister.pass.cpp 23 + rm ../libunwind/test/unwind_leaffunction.pass.cpp 24 + rm ../libunwind/test/libunwind_02.pass.cpp 25 + ''; 26 + }
+35
pkgs/development/rocm-modules/5/llvm/stage-2/rstdenv.nix
···
··· 1 + { stdenv 2 + , overrideCC 3 + , wrapCCWith 4 + , llvm 5 + , clang-unwrapped 6 + , lld 7 + , runtimes 8 + , bintools 9 + }: 10 + 11 + overrideCC stdenv (wrapCCWith rec { 12 + inherit bintools; 13 + libcxx = runtimes; 14 + cc = clang-unwrapped; 15 + 16 + extraPackages = [ 17 + llvm 18 + lld 19 + ]; 20 + 21 + nixSupport.cc-cflags = [ 22 + "-resource-dir=$out/resource-root" 23 + "-fuse-ld=lld" 24 + "-rtlib=compiler-rt" 25 + "-unwindlib=libunwind" 26 + "-Wno-unused-command-line-argument" 27 + ]; 28 + 29 + extraBuildCommands = '' 30 + clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 31 + mkdir -p $out/resource-root 32 + ln -s ${cc}/lib/clang/$clang_version/include $out/resource-root 33 + ln -s ${runtimes}/lib $out/resource-root 34 + ''; 35 + })
+42
pkgs/development/rocm-modules/5/llvm/stage-3/clang-tools-extra.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + , llvm 5 + , clang-unwrapped 6 + , gtest 7 + }: 8 + 9 + callPackage ../base.nix rec { 10 + inherit stdenv rocmUpdateScript; 11 + buildTests = false; # `invalid operands to binary expression ('std::basic_stringstream<char>' and 'const llvm::StringRef')` 12 + targetName = "clang-tools-extra"; 13 + 14 + targetProjects = [ 15 + "clang" 16 + "clang-tools-extra" 17 + ]; 18 + 19 + extraBuildInputs = [ gtest ]; 20 + 21 + extraCMakeFlags = [ 22 + "-DLLVM_INCLUDE_DOCS=OFF" 23 + "-DLLVM_INCLUDE_TESTS=OFF" 24 + "-DCLANG_INCLUDE_DOCS=OFF" 25 + "-DCLANG_INCLUDE_TESTS=ON" 26 + "-DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON" 27 + ]; 28 + 29 + extraPostInstall = '' 30 + # Remove LLVM and Clang 31 + for path in `find ${llvm} ${clang-unwrapped}`; do 32 + if [ $path != ${llvm} ] && [ $path != ${clang-unwrapped} ]; then 33 + rm -f $out''${path#${llvm}} $out''${path#${clang-unwrapped}} || true 34 + fi 35 + done 36 + 37 + # Cleanup empty directories 38 + find $out -type d -empty -delete 39 + ''; 40 + 41 + requiredSystemFeatures = [ "big-parallel" ]; 42 + }
+73
pkgs/development/rocm-modules/5/llvm/stage-3/clang.nix
···
··· 1 + { stdenv 2 + , wrapCCWith 3 + , llvm 4 + , lld 5 + , clang-unwrapped 6 + , bintools 7 + , libc 8 + , libunwind 9 + , libcxxabi 10 + , libcxx 11 + , compiler-rt 12 + }: 13 + 14 + wrapCCWith rec { 15 + inherit libcxx bintools; 16 + 17 + # We do this to avoid HIP pathing problems, and mimic a monolithic install 18 + cc = stdenv.mkDerivation (finalAttrs: { 19 + inherit (clang-unwrapped) version; 20 + pname = "rocm-llvm-clang"; 21 + dontUnpack = true; 22 + 23 + installPhase = '' 24 + runHook preInstall 25 + 26 + clang_version=`${clang-unwrapped}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 27 + mkdir -p $out/{bin,include/c++/v1,lib/{cmake,clang/$clang_version/{include,lib}},libexec,share} 28 + 29 + for path in ${llvm} ${clang-unwrapped} ${lld} ${libc} ${libunwind} ${libcxxabi} ${libcxx} ${compiler-rt}; do 30 + cp -as $path/* $out 31 + chmod +w $out/{*,include/c++/v1,lib/{clang/$clang_version/include,cmake}} 32 + rm -f $out/lib/libc++.so 33 + done 34 + 35 + ln -s $out/lib/* $out/lib/clang/$clang_version/lib 36 + ln -sf $out/include/* $out/lib/clang/$clang_version/include 37 + 38 + runHook postInstall 39 + ''; 40 + 41 + passthru.isClang = true; 42 + }); 43 + 44 + extraPackages = [ 45 + llvm 46 + lld 47 + libc 48 + libunwind 49 + libcxxabi 50 + compiler-rt 51 + ]; 52 + 53 + nixSupport.cc-cflags = [ 54 + "-resource-dir=$out/resource-root" 55 + "-fuse-ld=lld" 56 + "-rtlib=compiler-rt" 57 + "-unwindlib=libunwind" 58 + "-Wno-unused-command-line-argument" 59 + ]; 60 + 61 + extraBuildCommands = '' 62 + clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 63 + mkdir -p $out/resource-root 64 + ln -s ${cc}/lib/clang/$clang_version/{include,lib} $out/resource-root 65 + 66 + # Not sure why, but hardening seems to make things break 67 + echo "" > $out/nix-support/add-hardening.sh 68 + 69 + # GPU compilation uses builtin `lld` 70 + substituteInPlace $out/bin/{clang,clang++} \ 71 + --replace "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;" 72 + ''; 73 + }
+33
pkgs/development/rocm-modules/5/llvm/stage-3/flang.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + , clang-unwrapped 5 + , mlir 6 + , python3Packages 7 + }: 8 + 9 + callPackage ../base.nix rec { 10 + inherit stdenv rocmUpdateScript; 11 + buildTests = false; # `Executable "flang1" doesn't exist!` 12 + targetName = "flang"; 13 + targetDir = targetName; 14 + extraNativeBuildInputs = [ python3Packages.sphinx-markdown-tables ]; 15 + extraBuildInputs = [ mlir ]; 16 + 17 + extraCMakeFlags = [ 18 + "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW" 19 + "-DCLANG_DIR=${clang-unwrapped}/lib/cmake/clang" 20 + "-DFLANG_INCLUDE_TESTS=OFF" 21 + "-DMLIR_TABLEGEN_EXE=${mlir}/bin/mlir-tblgen" 22 + ]; 23 + 24 + extraPostPatch = '' 25 + substituteInPlace test/CMakeLists.txt \ 26 + --replace "FileCheck" "" \ 27 + --replace "count" "" \ 28 + --replace "not" "" 29 + 30 + substituteInPlace docs/CMakeLists.txt \ 31 + --replace "CLANG_TABLEGEN_EXE clang-tblgen" "CLANG_TABLEGEN_EXE ${clang-unwrapped}/bin/clang-tblgen" 32 + ''; 33 + }
+36
pkgs/development/rocm-modules/5/llvm/stage-3/libclc.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + , llvm 5 + , clang 6 + , spirv-llvm-translator 7 + }: 8 + 9 + let 10 + spirv = (spirv-llvm-translator.override { inherit llvm; }); 11 + in callPackage ../base.nix rec { 12 + inherit stdenv rocmUpdateScript; 13 + buildDocs = false; # No documentation to build 14 + buildMan = false; # No man pages to build 15 + targetName = "libclc"; 16 + targetDir = targetName; 17 + extraBuildInputs = [ spirv ]; 18 + 19 + # `spirv-mesa3d` isn't compiling with LLVM 15.0.0, it does with LLVM 14.0.0 20 + # Try removing the `spirv-mesa3d` and `clspv` patches next update 21 + # `clspv` tests fail, unresolved calls 22 + extraPostPatch = '' 23 + substituteInPlace CMakeLists.txt \ 24 + --replace "find_program( LLVM_CLANG clang PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ 25 + "find_program( LLVM_CLANG clang PATHS \"${clang}/bin\" NO_DEFAULT_PATH )" \ 26 + --replace "find_program( LLVM_SPIRV llvm-spirv PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ 27 + "find_program( LLVM_SPIRV llvm-spirv PATHS \"${spirv}/bin\" NO_DEFAULT_PATH )" \ 28 + --replace " spirv-mesa3d-" "" \ 29 + --replace " spirv64-mesa3d-" "" \ 30 + --replace "NOT \''${t} MATCHES" \ 31 + "NOT \''${ARCH} STREQUAL \"clspv\" AND NOT \''${ARCH} STREQUAL \"clspv64\" AND NOT \''${t} MATCHES" 32 + ''; 33 + 34 + checkTargets = [ ]; 35 + isBroken = true; # ROCm 5.7.0 doesn't have IR/AttributeMask.h yet...? 36 + }
+39
pkgs/development/rocm-modules/5/llvm/stage-3/lldb.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + , clang 5 + , xz 6 + , swig 7 + , lua5_3 8 + , graphviz 9 + , gtest 10 + , python3Packages 11 + }: 12 + 13 + callPackage ../base.nix rec { 14 + inherit stdenv rocmUpdateScript; 15 + buildTests = false; # FIXME: Bad pathing for clang executable in tests, using relative path most likely 16 + targetName = "lldb"; 17 + targetDir = targetName; 18 + extraNativeBuildInputs = [ python3Packages.sphinx-automodapi ]; 19 + 20 + extraBuildInputs = [ 21 + xz 22 + swig 23 + lua5_3 24 + graphviz 25 + gtest 26 + ]; 27 + 28 + extraCMakeFlags = [ 29 + "-DLLDB_EXTERNAL_CLANG_RESOURCE_DIR=${clang}/resource-root/lib/clang/$clang_version" 30 + "-DLLDB_INCLUDE_TESTS=ON" 31 + "-DLLDB_INCLUDE_UNITTESTS=ON" 32 + ]; 33 + 34 + extraPostPatch = '' 35 + export clang_version=`clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"` 36 + ''; 37 + 38 + checkTargets = [ "check-${targetName}" ]; 39 + }
+67
pkgs/development/rocm-modules/5/llvm/stage-3/mlir.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + # , hip 5 + # , rocm-comgr 6 + , vulkan-headers 7 + , vulkan-loader 8 + , glslang 9 + , shaderc 10 + , lit 11 + }: 12 + 13 + callPackage ../base.nix rec { 14 + inherit stdenv rocmUpdateScript; 15 + buildDocs = false; # No decent way to hack this to work 16 + buildMan = false; # No man pages to build 17 + targetName = "mlir"; 18 + targetDir = targetName; 19 + # extraNativeBuildInputs = [ hip ]; 20 + 21 + extraBuildInputs = [ 22 + # rocm-comgr 23 + vulkan-headers 24 + vulkan-loader 25 + glslang 26 + shaderc 27 + ]; 28 + 29 + extraCMakeFlags = [ 30 + "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW" 31 + "-DMLIR_INCLUDE_DOCS=ON" 32 + "-DMLIR_INCLUDE_TESTS=ON" 33 + "-DMLIR_ENABLE_ROCM_RUNNER=ON" 34 + "-DMLIR_ENABLE_SPIRV_CPU_RUNNER=ON" 35 + "-DMLIR_ENABLE_VULKAN_RUNNER=ON" 36 + "-DROCM_TEST_CHIPSET=gfx000" # CPU runner 37 + ]; 38 + 39 + extraPostPatch = '' 40 + chmod +w ../llvm 41 + mkdir -p ../llvm/build/bin 42 + ln -s ${lit}/bin/lit ../llvm/build/bin/llvm-lit 43 + 44 + substituteInPlace test/CMakeLists.txt \ 45 + --replace "FileCheck count not" "" \ 46 + --replace "list(APPEND MLIR_TEST_DEPENDS mlir_rocm_runtime)" "" 47 + 48 + substituteInPlace lib/ExecutionEngine/CMakeLists.txt \ 49 + --replace "return()" "" 50 + 51 + # Remove problematic tests 52 + rm test/CAPI/execution_engine.c 53 + rm test/Target/LLVMIR/llvmir-intrinsics.mlir 54 + rm test/Target/LLVMIR/llvmir.mlir 55 + rm test/Target/LLVMIR/openmp-llvm.mlir 56 + rm test/mlir-cpu-runner/*.mlir 57 + rm test/mlir-vulkan-runner/*.mlir 58 + ''; 59 + 60 + extraPostInstall = '' 61 + mkdir -p $out/bin 62 + mv bin/mlir-tblgen $out/bin 63 + ''; 64 + 65 + checkTargets = [ "check-${targetName}" ]; 66 + requiredSystemFeatures = [ "big-parallel" ]; 67 + }
+45
pkgs/development/rocm-modules/5/llvm/stage-3/openmp.nix
···
··· 1 + { lib 2 + , stdenv 3 + , callPackage 4 + , rocmUpdateScript 5 + , llvm 6 + , clang 7 + , clang-unwrapped 8 + # , rocm-device-libs 9 + # , rocm-runtime 10 + , perl 11 + , elfutils 12 + , lit 13 + }: 14 + 15 + callPackage ../base.nix rec { 16 + inherit stdenv rocmUpdateScript; 17 + buildTests = false; # Too many failures, most pass 18 + targetName = "openmp"; 19 + targetDir = targetName; 20 + extraNativeBuildInputs = [ perl ]; 21 + 22 + extraBuildInputs = [ 23 + # rocm-device-libs 24 + # rocm-runtime 25 + elfutils 26 + ]; 27 + 28 + extraCMakeFlags = [ 29 + "-DCMAKE_MODULE_PATH=/build/source/llvm/cmake/modules" # For docs 30 + "-DCLANG_TOOL=${clang}/bin/clang" 31 + "-DCLANG_OFFLOAD_BUNDLER_TOOL=${clang-unwrapped}/bin/clang-offload-bundler" 32 + "-DOPENMP_LLVM_TOOLS_DIR=${llvm}/bin" 33 + "-DOPENMP_LLVM_LIT_EXECUTABLE=${lit}/bin/.lit-wrapped" 34 + # "-DDEVICELIBS_ROOT=${rocm-device-libs.src}" 35 + ]; 36 + 37 + extraPostPatch = '' 38 + # We can't build this target at the moment 39 + substituteInPlace libomptarget/DeviceRTL/CMakeLists.txt \ 40 + --replace "gfx1010" "" 41 + ''; 42 + 43 + checkTargets = [ "check-${targetName}" ]; 44 + extraLicenses = [ lib.licenses.mit ]; 45 + }
+18
pkgs/development/rocm-modules/5/llvm/stage-3/polly.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + }: 5 + 6 + callPackage ../base.nix rec { 7 + inherit stdenv rocmUpdateScript; 8 + targetName = "polly"; 9 + targetDir = targetName; 10 + 11 + extraPostPatch = '' 12 + # `add_library cannot create target "llvm_gtest" because an imported target with the same name already exists` 13 + substituteInPlace CMakeLists.txt \ 14 + --replace "NOT TARGET gtest" "FALSE" 15 + ''; 16 + 17 + checkTargets = [ "check-${targetName}" ]; 18 + }
+15
pkgs/development/rocm-modules/5/llvm/stage-3/pstl.nix
···
··· 1 + { stdenv 2 + , callPackage 3 + , rocmUpdateScript 4 + }: 5 + 6 + callPackage ../base.nix rec { 7 + inherit stdenv rocmUpdateScript; 8 + buildDocs = false; # No documentation to build 9 + buildMan = false; # No man pages to build 10 + buildTests = false; # Too many errors 11 + targetName = "pstl"; 12 + targetDir = "runtimes"; 13 + targetRuntimes = [ targetName ]; 14 + checkTargets = [ "check-${targetName}" ]; 15 + }
+1 -1
pkgs/development/rocm-modules/update-script/default.nix pkgs/development/rocm-modules/5/update.nix
··· 12 let 13 pname = 14 if lib.hasPrefix "rocm-llvm-" name 15 - then "llvmPackages_rocm.${lib.removePrefix "rocm-llvm-" name}" 16 else name; 17 18 updateScript = writeScript "update.sh" ''
··· 12 let 13 pname = 14 if lib.hasPrefix "rocm-llvm-" name 15 + then "rocmPackages_5.llvm.${lib.removePrefix "rocm-llvm-" name}" 16 else name; 17 18 updateScript = writeScript "update.sh" ''
+1 -1
pkgs/test/default.nix
··· 8 llvmTests = let 9 pkgSets = lib.pipe pkgNames [ 10 (filter (lib.hasPrefix "llvmPackages")) 11 - (filter (n: n != "llvmPackages_rocm")) 12 (filter (n: n != "llvmPackages_latest")) 13 (filter (n: n != "llvmPackages_git")) 14 ];
··· 8 llvmTests = let 9 pkgSets = lib.pipe pkgNames [ 10 (filter (lib.hasPrefix "llvmPackages")) 11 + (filter (n: n != "rocmPackages.llvm")) 12 (filter (n: n != "llvmPackages_latest")) 13 (filter (n: n != "llvmPackages_git")) 14 ];
+17 -19
pkgs/top-level/all-packages.nix
··· 7766 7767 rar2fs = callPackage ../tools/filesystems/rar2fs { }; 7768 7769 rune = callPackage ../development/interpreters/rune { }; 7770 7771 s9fes = callPackage ../development/interpreters/s9fes { }; ··· 15716 clangStdenv = if stdenv.cc.isClang then stdenv else lowPrio llvmPackages.stdenv; 15717 clang-sierraHack-stdenv = overrideCC stdenv buildPackages.clang-sierraHack; 15718 libcxxStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.libcxxStdenv; 15719 - rocmClangStdenv = llvmPackages_rocm.rocmClangStdenv; 15720 15721 clean = callPackage ../development/compilers/clean { }; 15722 ··· 16771 targetLlvm = targetPackages.llvmPackages_16.llvm or llvmPackages_16.llvm; 16772 })); 16773 16774 - llvmPackages_rocm = recurseIntoAttrs (callPackage ../development/compilers/llvm/rocm { }); 16775 - 16776 lorri = callPackage ../tools/misc/lorri { 16777 inherit (darwin.apple_sdk.frameworks) CoreServices Security; 16778 }; ··· 16958 rml = callPackage ../development/compilers/rml { }; 16959 16960 composable_kernel = callPackage ../development/libraries/composable_kernel { 16961 - inherit (llvmPackages_rocm) openmp clang-tools-extra; 16962 stdenv = rocmClangStdenv; 16963 }; 16964 ··· 16977 }; 16978 16979 hip-common = callPackage ../development/compilers/hip-common { 16980 - inherit (llvmPackages_rocm) llvm; 16981 stdenv = rocmClangStdenv; 16982 }; 16983 16984 hipcc = callPackage ../development/compilers/hipcc { 16985 - inherit (llvmPackages_rocm) llvm; 16986 stdenv = rocmClangStdenv; 16987 }; 16988 16989 hip = callPackage ../development/compilers/hip { 16990 - inherit (llvmPackages_rocm) llvm; 16991 inherit (cudaPackages) cudatoolkit; 16992 stdenv = rocmClangStdenv; 16993 }; ··· 17009 }; 17010 17011 hipsparse = callPackage ../development/libraries/hipsparse { 17012 - inherit (llvmPackages_rocm) openmp; 17013 stdenv = rocmClangStdenv; 17014 }; 17015 ··· 17018 }; 17019 17020 hipfft = callPackage ../development/libraries/hipfft { 17021 - inherit (llvmPackages_rocm) openmp; 17022 stdenv = rocmClangStdenv; 17023 }; 17024 ··· 17031 }; 17032 17033 migraphx = callPackage ../development/libraries/migraphx { 17034 - inherit (llvmPackages_rocm) clang-tools-extra openmp; 17035 stdenv = rocmClangStdenv; 17036 rocmlir = rocmlir-rock; 17037 }; ··· 17049 }; 17050 17051 rocalution = callPackage ../development/libraries/rocalution { 17052 - inherit (llvmPackages_rocm) openmp; 17053 stdenv = rocmClangStdenv; 17054 }; 17055 ··· 17122 }; 17123 17124 rocfft = callPackage ../development/libraries/rocfft { 17125 - inherit (llvmPackages_rocm) openmp; 17126 stdenv = rocmClangStdenv; 17127 }; 17128 ··· 17135 }; 17136 17137 rocwmma = callPackage ../development/libraries/rocwmma { 17138 - inherit (llvmPackages_rocm) openmp; 17139 stdenv = rocmClangStdenv; 17140 }; 17141 17142 rocblas = callPackage ../development/libraries/rocblas { 17143 - inherit (llvmPackages_rocm) openmp; 17144 stdenv = rocmClangStdenv; 17145 }; 17146 ··· 17153 }; 17154 17155 miopen = callPackage ../development/libraries/miopen { 17156 - inherit (llvmPackages_rocm) llvm clang-tools-extra; 17157 stdenv = rocmClangStdenv; 17158 rocmlir = rocmlir-rock; 17159 boost = boost179.override { enableStatic = true; }; ··· 17167 useOpenCL = true; 17168 }; 17169 17170 - rocmUpdateScript = callPackage ../development/rocm-modules/update-script { }; 17171 - 17172 # Requires GCC 17173 roctracer = callPackage ../development/libraries/roctracer { 17174 - inherit (llvmPackages_rocm) clang; 17175 }; 17176 17177 rtags = callPackage ../development/tools/rtags { ··· 39477 lie = callPackage ../applications/science/math/LiE { }; 39478 39479 inherit (callPackage ../development/libraries/science/math/magma { 39480 - inherit (llvmPackages_rocm) openmp; 39481 }) magma magma_2_7_2 magma_2_6_2; 39482 39483 magma-cuda = magma.override {
··· 7766 7767 rar2fs = callPackage ../tools/filesystems/rar2fs { }; 7768 7769 + rocmPackages = rocmPackages_5; 7770 + rocmPackages_5 = recurseIntoAttrs (callPackage ../development/rocm-modules/5 { }); 7771 + 7772 rune = callPackage ../development/interpreters/rune { }; 7773 7774 s9fes = callPackage ../development/interpreters/s9fes { }; ··· 15719 clangStdenv = if stdenv.cc.isClang then stdenv else lowPrio llvmPackages.stdenv; 15720 clang-sierraHack-stdenv = overrideCC stdenv buildPackages.clang-sierraHack; 15721 libcxxStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.libcxxStdenv; 15722 15723 clean = callPackage ../development/compilers/clean { }; 15724 ··· 16773 targetLlvm = targetPackages.llvmPackages_16.llvm or llvmPackages_16.llvm; 16774 })); 16775 16776 lorri = callPackage ../tools/misc/lorri { 16777 inherit (darwin.apple_sdk.frameworks) CoreServices Security; 16778 }; ··· 16958 rml = callPackage ../development/compilers/rml { }; 16959 16960 composable_kernel = callPackage ../development/libraries/composable_kernel { 16961 + inherit (rocmPackages.llvm) openmp clang-tools-extra; 16962 stdenv = rocmClangStdenv; 16963 }; 16964 ··· 16977 }; 16978 16979 hip-common = callPackage ../development/compilers/hip-common { 16980 + inherit (rocmPackages.llvm) llvm; 16981 stdenv = rocmClangStdenv; 16982 }; 16983 16984 hipcc = callPackage ../development/compilers/hipcc { 16985 + inherit (rocmPackages.llvm) llvm; 16986 stdenv = rocmClangStdenv; 16987 }; 16988 16989 hip = callPackage ../development/compilers/hip { 16990 + inherit (rocmPackages.llvm) llvm; 16991 inherit (cudaPackages) cudatoolkit; 16992 stdenv = rocmClangStdenv; 16993 }; ··· 17009 }; 17010 17011 hipsparse = callPackage ../development/libraries/hipsparse { 17012 + inherit (rocmPackages.llvm) openmp; 17013 stdenv = rocmClangStdenv; 17014 }; 17015 ··· 17018 }; 17019 17020 hipfft = callPackage ../development/libraries/hipfft { 17021 + inherit (rocmPackages.llvm) openmp; 17022 stdenv = rocmClangStdenv; 17023 }; 17024 ··· 17031 }; 17032 17033 migraphx = callPackage ../development/libraries/migraphx { 17034 + inherit (rocmPackages.llvm) clang-tools-extra openmp; 17035 stdenv = rocmClangStdenv; 17036 rocmlir = rocmlir-rock; 17037 }; ··· 17049 }; 17050 17051 rocalution = callPackage ../development/libraries/rocalution { 17052 + inherit (rocmPackages.llvm) openmp; 17053 stdenv = rocmClangStdenv; 17054 }; 17055 ··· 17122 }; 17123 17124 rocfft = callPackage ../development/libraries/rocfft { 17125 + inherit (rocmPackages.llvm) openmp; 17126 stdenv = rocmClangStdenv; 17127 }; 17128 ··· 17135 }; 17136 17137 rocwmma = callPackage ../development/libraries/rocwmma { 17138 + inherit (rocmPackages.llvm) openmp; 17139 stdenv = rocmClangStdenv; 17140 }; 17141 17142 rocblas = callPackage ../development/libraries/rocblas { 17143 + inherit (rocmPackages.llvm) openmp; 17144 stdenv = rocmClangStdenv; 17145 }; 17146 ··· 17153 }; 17154 17155 miopen = callPackage ../development/libraries/miopen { 17156 + inherit (rocmPackages.llvm) llvm clang-tools-extra; 17157 stdenv = rocmClangStdenv; 17158 rocmlir = rocmlir-rock; 17159 boost = boost179.override { enableStatic = true; }; ··· 17167 useOpenCL = true; 17168 }; 17169 17170 # Requires GCC 17171 roctracer = callPackage ../development/libraries/roctracer { 17172 + inherit (rocmPackages.llvm) clang; 17173 }; 17174 17175 rtags = callPackage ../development/tools/rtags { ··· 39475 lie = callPackage ../applications/science/math/LiE { }; 39476 39477 inherit (callPackage ../development/libraries/science/math/magma { 39478 + inherit (rocmPackages.llvm) openmp; 39479 }) magma magma_2_7_2 magma_2_6_2; 39480 39481 magma-cuda = magma.override {
+2 -2
pkgs/top-level/python-packages.nix
··· 8349 8350 open-meteo = callPackage ../development/python-modules/open-meteo { }; 8351 8352 - openai-triton = callPackage ../development/python-modules/openai-triton { llvmPackages = pkgs.llvmPackages_rocm; }; 8353 8354 openai-triton-bin = callPackage ../development/python-modules/openai-triton/bin.nix { }; 8355 ··· 13902 else pkgs.magma; 13903 inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate CoreServices; 13904 inherit (pkgs.darwin) libobjc; 13905 - inherit (pkgs.llvmPackages_rocm) openmp; 13906 }; 13907 13908 torch-bin = callPackage ../development/python-modules/torch/bin.nix {
··· 8349 8350 open-meteo = callPackage ../development/python-modules/open-meteo { }; 8351 8352 + openai-triton = callPackage ../development/python-modules/openai-triton { llvmPackages = pkgs.rocmPackages.llvm; }; 8353 8354 openai-triton-bin = callPackage ../development/python-modules/openai-triton/bin.nix { }; 8355 ··· 13902 else pkgs.magma; 13903 inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate CoreServices; 13904 inherit (pkgs.darwin) libobjc; 13905 + inherit (pkgs.rocmPackages.llvm) openmp; 13906 }; 13907 13908 torch-bin = callPackage ../development/python-modules/torch/bin.nix {