diff options
-rw-r--r-- | gnu/local.mk | 4 | ||||
-rw-r--r-- | gnu/packages/llvm.scm | 28 | ||||
-rw-r--r-- | gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch | 44 | ||||
-rw-r--r-- | gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch | 79 | ||||
-rw-r--r-- | gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch | 56 | ||||
-rw-r--r-- | gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch | 25 | ||||
-rw-r--r-- | gnu/packages/rocm.scm | 145 |
7 files changed, 126 insertions, 255 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 179e3948c0..d5fbb0fdef 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -50,7 +50,7 @@ # Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> # Copyright © 2022, 2024, 2025 Remco van 't Veer <remco@remworks.net> # Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com> -# Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com> +# Copyright © 2022, 2023, 2025 John Kehayias <john.kehayias@protonmail.com> # Copyright © 2022 muradm <mail@muradm.net> # Copyright © 2022 Hilton Chain <hako@ultrarare.space> # Copyright © 2022 Alex Griffin <a@ajgrf.com> @@ -2252,8 +2252,6 @@ dist_patch_DATA = \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/rng-tools-revert-build-randstat.patch \ %D%/packages/patches/rocclr-5.6.0-enable-gfx800.patch \ - %D%/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch \ - %D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \ %D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \ %D%/packages/patches/rottlog-direntry.patch \ %D%/packages/patches/ruby-actionpack-remove-browser-tests.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 0accbd4503..8c2b28cc6c 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -22,7 +22,7 @@ ;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> ;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2022, 2024 Greg Hogan <code@greghogan.com> -;;; Copyright © 2022, 2024 John Kehayias <john.kehayias@protonmail.com> +;;; Copyright © 2022, 2024, 2025 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> @@ -1661,30 +1661,30 @@ Library.") (define-public llvm-for-rocm (package - ;; Based on LLVM 14 as of v5.0.0 - (inherit llvm-14) + ;; Currently based on LLVM 19. + (inherit llvm-19) (name "llvm-for-rocm") - (version "5.6.0") ;this must match '%rocm-version' + (version "6.4.2") ;this must match '%rocm-version' (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RadeonOpenCompute/llvm-project.git") + (url "https://github.com/ROCm/llvm-project.git") (commit (string-append "rocm-" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1kg6q6aqijjrwaznj0gr3nd01gykrnqqnk8vz8wyfifr18l9jrgx")))) + "1j2cr362k7snsh5c1z38ikyihmjvy0088rj0f0dhng6cjwgysryp")))) (arguments - (substitute-keyword-arguments (package-arguments llvm-14) + (substitute-keyword-arguments (package-arguments llvm-19) ((#:configure-flags flags) - #~(list"-DLLVM_ENABLE_PROJECTS=llvm;clang;lld" - "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86" - "-DCMAKE_SKIP_BUILD_RPATH=FALSE" - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" - "-DBUILD_SHARED_LIBS:BOOL=TRUE" - "-DLLVM_VERSION_SUFFIX=")))) + #~(list "-DLLVM_ENABLE_PROJECTS=llvm;clang;lld" + "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86" + "-DCMAKE_SKIP_BUILD_RPATH=FALSE" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" + "-DBUILD_SHARED_LIBS:BOOL=TRUE" + "-DLLVM_VERSION_SUFFIX=")))) (properties `((hidden? . #t) - ,@(package-properties llvm-14))))) + ,@(package-properties llvm-19))))) diff --git a/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch b/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch index 2948234029..21fd88b82e 100644 --- a/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch +++ b/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch @@ -1,16 +1,30 @@ -#From xuhuisheng -#at https://github.com/RadeonOpenCompute/ROCm/issues/1659#issuecomment-1041026624 +See <https://github.com/ROCm/clr/pull/97>. -diff --git a/utils/flags.hpp b/utils/flags.hpp -index 8f0228cc..2eaa47c5 100644 ---- a/utils/flags.hpp -+++ b/utils/flags.hpp -@@ -245,7 +245,7 @@ release(bool, ROC_SYSTEM_SCOPE_SIGNAL, true, \ - "Enable system scope for signals (uses interrupts).") \ - release(bool, ROC_SKIP_COPY_SYNC, false, \ - "Skips copy syncs if runtime can predict the same engine.") \ --release(bool, ROC_ENABLE_PRE_VEGA, false, \ -+release(bool, ROC_ENABLE_PRE_VEGA, true, \ - "Enable support of pre-vega ASICs in ROCm path") \ - release(bool, HIP_FORCE_QUEUE_PROFILING, false, \ - "Force command queue profiling by default") \ +From 909fa3dcb644f7ca422ed1a980a54ac426d831b1 Mon Sep 17 00:00:00 2001 +From: Jeremy Newton <Jeremy.Newton@amd.com> +Date: Fri, 27 Sep 2024 13:29:12 -0400 +Subject: [PATCH] Fix gfx8 opencl + +This condition was added when we supported PAL openCL on gfx8, but when +ROC_ENABLE_PRE_VEGA was dropped and PAL OpenCL on Linux was deprecated, +this logic should have been dropped completely. + +Change-Id: I0a68ef4723d9ebde7d958c58dbb0b6991f69d817 +Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com> +--- + rocclr/device/device.hpp | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/rocclr/device/device.hpp b/rocclr/device/device.hpp +index ef82630325..6409cebc90 100644 +--- a/rocclr/device/device.hpp ++++ b/rocclr/device/device.hpp +@@ -1431,8 +1431,5 @@ class Isa { + + /// @returns If the ROCm runtime supports the ISA. + bool runtimeRocSupported() const { +- if (!IS_HIP && (versionMajor_ == 8)) { +- return false; +- } + return runtimeRocSupported_; + } diff --git a/gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch b/gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch deleted file mode 100644 index a5404ad62c..0000000000 --- a/gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch +++ /dev/null @@ -1,79 +0,0 @@ -See <https://github.com/RadeonOpenCompute/rocm_bandwidth_test/pull/90>. - -From a58f9fd4cb5d1120b9ce58c912ca87fa14720f73 Mon Sep 17 00:00:00 2001 -From: pppig236 <weikaik@umich.edu> -Date: Tue, 2 May 2023 15:19:52 -0400 -Subject: [PATCH] fix include for rocm 5.5.0 - ---- - base_test.hpp | 8 +------- - common.hpp | 11 ++--------- - rocm_bandwidth_test.hpp | 8 +------- - 3 files changed, 4 insertions(+), 23 deletions(-) - -diff --git a/base_test.hpp b/base_test.hpp -index 3e79de1..af99a85 100755 ---- a/base_test.hpp -+++ b/base_test.hpp -@@ -42,14 +42,8 @@ - - #ifndef ROC_BANDWIDTH_TEST_BASE_H_ - #define ROC_BANDWIDTH_TEST_BASE_H_ --#if(defined(RBT_HSA_VERSION_FLAT) && ((RBT_HSA_VERSION_FLAT) < RBT_HSA_VERSION_FILEREORG)) --// Hsa package with out file reorganization --// This is for backward compatibility and will be deprecated from future release --#include "hsa.h" --#else - // Hsa package with file reorganization --#include "hsa/hsa.h" --#endif -+#include <hsa/hsa.h> - #include <iostream> - #include <string> - #include <vector> -diff --git a/common.hpp b/common.hpp -index d2933a0..3c4858f 100755 ---- a/common.hpp -+++ b/common.hpp -@@ -48,16 +48,9 @@ - #include <vector> - #include <cmath> - #include <stdio.h> --#if(defined(RBT_HSA_VERSION_FLAT) && ((RBT_HSA_VERSION_FLAT) < RBT_HSA_VERSION_FILEREORG)) --// Hsa package with out file reorganization --// This is for backward compatibility and will be deprecated from future release --#include "hsa.h" --#include "hsa_ext_amd.h" --#else - // Hsa package with file reorganization --#include "hsa/hsa.h" --#include "hsa/hsa_ext_amd.h" --#endif -+#include <hsa/hsa.h> -+#include <hsa/hsa_ext_amd.h> - - using namespace std; - -diff --git a/rocm_bandwidth_test.hpp b/rocm_bandwidth_test.hpp -index f7eb338..b8550a7 100755 ---- a/rocm_bandwidth_test.hpp -+++ b/rocm_bandwidth_test.hpp -@@ -43,14 +43,8 @@ - #ifndef __ROC_BANDWIDTH_TEST_H__ - #define __ROC_BANDWIDTH_TEST_H__ - --#if(defined(RBT_HSA_VERSION_FLAT) && ((RBT_HSA_VERSION_FLAT) < RBT_HSA_VERSION_FILEREORG)) --// Hsa package with out file reorganization --// This is for backward compatibility and will be deprecated from future release --#include "hsa.h" --#else - // Hsa package with file reorganization --#include "hsa/hsa.h" --#endif -+#include <hsa/hsa.h> - #include "base_test.hpp" - #include "common.hpp" - --- -2.40.1 - diff --git a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch deleted file mode 100644 index 6462b81eb9..0000000000 --- a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch +++ /dev/null @@ -1,56 +0,0 @@ -See https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/pull/25 for -original patch. - -From c65cba2e73f9118e128b9ab7e655ee0f8a7798e7 Mon Sep 17 00:00:00 2001 -From: Craig Andrews <candrews@integralblue.com> -Date: Sun, 1 Mar 2020 19:24:22 -0500 -Subject: [PATCH] Link additional required LLVM libraries - -Without these additional required dependencies, linking fails with errors such as: -`undefined reference to llvm::errs()'` ---- - CMakeLists.txt | 20 ++++++++++++++++++-- - 1 file changed, 18 insertions(+), 2 deletions(-) - -diff --git a/lib/comgr/CMakeLists.txt b/lib/comgr/CMakeLists.txt -index fd3ae4a..131e581 100644 ---- a/lib/comgr/CMakeLists.txt -+++ b/lib/comgr/CMakeLists.txt -@@ -322,7 +322,11 @@ install(FILES - - if(TARGET clangFrontendTool) - set(CLANG_LIBS -- clangFrontendTool) -+ clangFrontendTool -+ clangFrontend -+ clangBasic -+ clangDriver -+ clangSerialization) - else() - set(CLANG_LIBS - clang-cpp) -@@ -337,8 +341,23 @@ if (LLVM_LINK_LLVM_DYLIB) - else() - llvm_map_components_to_libnames(LLVM_LIBS - ${LLVM_TARGETS_TO_BUILD} -+ Option - DebugInfoDWARF -- Symbolize) -+ Symbolize -+ Support -+ Object -+ TargetParser -+ Bitreader -+ BitWriter -+ MC -+ MCParser -+ MCDisassembler -+ Core -+ IRReader -+ CodeGen -+ Linker -+ Demangle -+ BinaryFormat) - endif() - - target_link_options(amd_comgr diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch index 65ad362307..da96b3ade8 100644 --- a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch +++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch @@ -1,11 +1,11 @@ Do not build and install clinfo. -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0dc5bf4..95a12af 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -27,7 +27,7 @@ else() - find_package(OpenCL REQUIRED) +diff --git a/opencl/CMakeLists.txt b/opencl/CMakeLists.txt +index 7b97cfdef..23eec15b2 100644 +--- a/opencl/CMakeLists.txt ++++ b/opencl/CMakeLists.txt +@@ -33,7 +33,7 @@ if(BUILD_ICD) + add_subdirectory(khronos/icd) endif() add_subdirectory(amdocl) -add_subdirectory(tools/clinfo) @@ -13,15 +13,16 @@ index 0dc5bf4..95a12af 100644 add_subdirectory(tools/cltrace) if(BUILD_TESTS) add_subdirectory(tests/ocltst) -diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt -index a703f58..c07546a 100644 ---- a/packaging/CMakeLists.txt -+++ b/packaging/CMakeLists.txt -@@ -12,6 +12,6 @@ endif() +diff --git a/opencl/packaging/CMakeLists.txt b/opencl/packaging/CMakeLists.txt +index 7d9e6366f..f8d08e0fc 100644 +--- a/opencl/packaging/CMakeLists.txt ++++ b/opencl/packaging/CMakeLists.txt +@@ -16,7 +16,7 @@ endif() set(CPACK_DEB_COMPONENT_INSTALL ON) set(CPACK_RPM_COMPONENT_INSTALL ON) -install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary) +#install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary) install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) - install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary) + install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT asan) + install(FILES ${opencl_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary) diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm index dca3d58387..cd320dcf81 100644 --- a/gnu/packages/rocm.scm +++ b/gnu/packages/rocm.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> -;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com> +;;; Copyright © 2022, 2023, 2025 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This program is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by @@ -31,13 +31,27 @@ #:use-module (gnu packages llvm) #:use-module (gnu packages opencl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages version-control) #:use-module (gnu packages vim) #:use-module (gnu packages xdisorg)) ;; The components are tightly integrated and can only be upgraded as a unit. If ;; you want to upgrade ROCm, bump this version number and update hashes below. -(define %rocm-version "5.6.0") +(define %rocm-version "6.4.2") + +;; As of version 6.1.0 several of the ROCm projects are contained within their +;; forked LLVM repository. This is the same as the source for llvm-for-rocm. +(define %rocm-llvm-origin + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/llvm-project.git") + (commit (string-append "rocm-" %rocm-version)))) + (file-name (git-file-name "llvm-for-rocm" %rocm-version)) + (sha256 + (base32 + "1j2cr362k7snsh5c1z38ikyihmjvy0088rj0f0dhng6cjwgysryp")))) (define-public rocm-cmake (package @@ -51,11 +65,11 @@ (file-name (git-file-name name version)) (sha256 (base32 - "183s2ksn142r7nl7l56qvyrgvvkdgqfdzmgkfpp4a6g9mjp88ady")))) + "1af9z59bm8pj577x43q614v3ff039wijvcdpgw6sdsq1c0ssj260")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Tests try to use git commit (native-inputs (list git)) - (home-page "https://github.com/RadeonOpenCompute/rocm-cmake") + (home-page "https://github.com/ROCm/rocm-cmake") (synopsis "ROCm cmake modules") (description "ROCm cmake modules provides cmake modules for common build tasks needed for the ROCM software stack.") @@ -65,22 +79,20 @@ tasks needed for the ROCM software stack.") (package (name "rocm-device-libs") (version %rocm-version) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git") - (commit (string-append "rocm-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1jg96ycy99s9fis8sk1b7qx5p33anw16mqlm07zqbnhry2gqkcbh")))) + (source %rocm-llvm-origin) (build-system cmake-build-system) (arguments - `(#:configure-flags + `(#:build-type "Release" + #:configure-flags (list "-DCMAKE_SKIP_BUILD_RPATH=FALSE" - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"))) + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "amd/device-libs")))))) (inputs (list llvm-for-rocm)) - (home-page "https://github.com/RadeonOpenCompute/ROCm-Device-Libs") + (home-page "https://github.com/ROCm/ROCm-Device-Libs") (synopsis "ROCm Device libraries") (description "AMD-specific device-side language runtime libraries, namely oclc, ocml, ockl, opencl, hip and hc.") @@ -90,49 +102,45 @@ oclc, ocml, ockl, opencl, hip and hc.") (package (name "rocm-comgr") (version %rocm-version) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport.git") - (commit (string-append "rocm-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "15s2dx0pdvjv3xfccq5prkplcbwps8x9jas5qk93q7kv8wx57p3b")) - (patches - (search-patches "rocm-comgr-3.1.0-dependencies.patch")))) + (source %rocm-llvm-origin) (build-system cmake-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "lib/comgr")))))) - (inputs (list llvm-for-rocm rocm-device-libs)) - (home-page "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport") + (list + #:build-type "Release" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-to-build + (lambda _ + (chdir "amd/comgr") + (setenv "ROCM_PATH" + #$(this-package-input "rocm-device-libs"))))))) + (inputs (list rocm-device-libs)) + (native-inputs (list llvm-for-rocm python)) + (home-page "https://github.com/ROCm/ROCm-CompilerSupport") (synopsis "ROCm Code Object Manager") (description "The Comgr library provides APIs for compiling and inspecting AMDGPU code objects.") (license license:ncsa))) +;; This package is deprecated; this is the last version released. (define-public roct-thunk-interface (package (name "roct-thunk-interface") - (version %rocm-version) + (version "6.2.4") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface.git") + (url "https://github.com/ROCm/ROCT-Thunk-Interface.git") (commit (string-append "rocm-" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0v8j4gkbb21gqqmz1b4nmampx5ywva99ipsx8lcjr5ckcg84fn9x")))) + "1y3mn4860z7ca71cv4hhag7racpc208acy8rws8ldw5k8yjc68m0")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Not sure how to run tests. (inputs (list libdrm numactl)) (native-inputs (list `(,gcc "lib") pkg-config)) - (home-page "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface") + (home-page "https://github.com/ROCm/ROCT-Thunk-Interface") (synopsis "Radeon Open Compute Thunk Interface") (description "User-mode API interfaces used to interact with the ROCk driver.") @@ -145,62 +153,42 @@ driver.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RadeonOpenCompute/ROCR-Runtime.git") + (url "https://github.com/ROCm/ROCR-Runtime.git") (commit (string-append "rocm-" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "07wh7s1kgvpw8ydxmr2wvvn05fdqcmcc20qjbmnc3cbbhxviksyr")))) + "01gqbzqm5m28dw9b2calrbp9a23w2cc2gwi3pay8yl8qvk4jgkff")))) (build-system cmake-build-system) (arguments (list #:tests? #f ; No tests. + #:build-type "Release" #:phases #~(modify-phases %standard-phases (add-after 'unpack 'add-rocm-device-lib-path (lambda _ - (substitute* "src/image/blit_src/CMakeLists.txt" - (("-O2") - (string-append - "-O2 --rocm-device-lib-path=" - #$(this-package-input "rocm-device-libs") - "/amdgcn/bitcode/"))))) - (add-after 'add-rocm-device-lib-path 'chdir - (lambda _ - (chdir "src")))))) + (setenv "ROCM_PATH" + #$(this-package-input "rocm-device-libs"))))))) (inputs (list libdrm - libelf + libelf-shared llvm-for-rocm numactl rocm-device-libs ; For bitcode. roct-thunk-interface)) (native-inputs (list pkg-config xxd)) - (home-page "https://github.com/RadeonOpenCompute/ROCR-Runtime") + (home-page "https://github.com/ROCm/ROCR-Runtime") (synopsis "ROCm Platform Runtime") (description "User-mode API interfaces and libraries necessary for host applications to launch compute kernels to available HSA ROCm kernel agents.") (license license:ncsa))) -;; This is the source only for ROCclr as from v4.5 it should only be built as -;; part of a client. A warning is output if attempting to build stand-alone -;; and there is no install. -(define rocclr-src - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ROCm-Developer-Tools/ROCclr.git") - (commit (string-append "rocm-" %rocm-version)))) - (sha256 - (base32 - "1fzvnngxcvxscn718cqfglm4izccx88zjdr3g5ldfqw7hyd034sk")) - (patches (search-patches "rocclr-5.6.0-enable-gfx800.patch")))) - (define-public rocm-opencl-runtime (package (name "rocm-opencl-runtime") (version %rocm-version) - (home-page "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime") + (home-page "https://github.com/ROCm/clr") (source (origin (method git-fetch) (uri (git-reference @@ -209,20 +197,21 @@ applications to launch compute kernels to available HSA ROCm kernel agents.") (file-name (git-file-name name version)) (sha256 (base32 - "1azfxf0ac3mnbyfgn30bz5glwlmaigzdz0cd29jzc4b05hks1yr3")) + "00zr1fw84nifn2b2zd4wxf00f1171hjmz1lypzzmydsk5yw01q0c")) (patches (search-patches + "rocclr-5.6.0-enable-gfx800.patch" ;; Guix includes a program clinfo already. "rocm-opencl-runtime-4.3-noclinfo.patch")))) (build-system cmake-build-system) (arguments (list #:tests? #f ; Not sure how to run them. + #:build-type "Release" #:configure-flags #~(list (string-append "-DAMD_OPENCL_PATH=" #$(package-source this-package)) - ;; The ROCclr source is needed to build the runtime. - (string-append "-DROCCLR_PATH=" #$rocclr-src) + "-DCLR_BUILD_OCL=ON" (string-append "-DROCM_PATH=" #$output) ;; Don't build the ICD loader as we have the opencl-icd-loader ;; package already. @@ -231,6 +220,11 @@ applications to launch compute kernels to available HSA ROCm kernel agents.") "-DFILE_REORG_BACKWARD_COMPATIBILITY=OFF") #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'no-os-release + (lambda _ + (substitute* "opencl/packaging/CMakeLists.txt" + (("\"/etc/os-release\"") + "\"/dev/null\"")))) (add-after 'install 'create-icd ;; Manually install ICD, which simply consists of dumping ;; the path of the .so into the correct file. @@ -260,12 +254,12 @@ and in-process/in-memory compilation.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RadeonOpenCompute/rocminfo.git") + (url "https://github.com/ROCm/rocminfo.git") (commit (string-append "rocm-" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "150bvyxp9krq8f7jqd1g5b4l85rih4ch322y4sg1hnciqpabn6a6")))) + "15mzmxz011sg42jg0dbxz57f4fagmxzdjc6zhd0yab3cq7k1kiv2")))) (build-system cmake-build-system) (arguments (list @@ -280,7 +274,7 @@ and in-process/in-memory compilation.") (("grep") (search-input-file inputs "bin/grep")))))))) (inputs (list rocr-runtime kmod)) - (home-page "https://github.com/RadeonOpenCompute/rocminfo") + (home-page "https://github.com/ROCm/rocminfo") (synopsis "ROCm Application for Reporting System Info") (description "List @acronym{HSA,Heterogeneous System Architecture} Agents available to ROCm and show their properties.") @@ -293,17 +287,16 @@ available to ROCm and show their properties.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/RadeonOpenCompute/rocm_bandwidth_test.git") + (url "https://github.com/ROCm/rocm_bandwidth_test.git") (commit (string-append "rocm-" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0ca6r8xijw3a3hrlgkqqsf3iqyia6sdmidgmjl12f5vypxzp5kmm")) - (patches (search-patches "rocm-bandwidth-test-5.5.0-fix-includes.patch")))) + "1afmyx0dkif7djdcm5rfhnsibbrkj4py6dvh0gw4x3v750ms69wv")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests. (inputs (list rocr-runtime)) - (home-page "https://github.com/RadeonOpenCompute/rocm_bandwidth_test") + (home-page "https://github.com/ROCm/rocm_bandwidth_test") (synopsis "Bandwidth test for ROCm") (description "RocBandwidthTest is designed to capture the performance characteristics of buffer copying and kernel read/write operations. The help |