summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2025-07-23 12:42:56 -0400
committerDanny Milosavljevic <dannym@friendly-machines.com>2025-08-03 16:40:08 +0200
commitd8dc8d856ae3ca66c4b74a57d96dce8ed8ff0e94 (patch)
tree40c9437159ba77a78dd9009fc3f9e899fde87845
parent897590f99d828274b3d6a84d54179aaa000ba2c3 (diff)
gnu: rocm: Update to 6.4.2.
This commit updates all of the ROCm packages, including llvm-for-rocm, to the latest version, 6.4.2. An exception is roct-thunk-interface which is deprecated upstream, but unclear what the replacement is. It does build from the last version, 6.2.4, which is what it is updated to here. Several packages are now in the same repository as the ROCm LLVM fork, so they share the same origin (repeated in (gnu packages rocm) from llvm-for-rocm in (gnu packages llvm) as using package-source did not resolve). * gnu/packages/llvm.scm (llvm-for-rocm): Update to 6.4.2. Inherit from llvm-19. [source]: Update URL. [arguments]: Correct spacing of configure-flags. * gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch, gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch: Update. * gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch, gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch: Remove files. * gnu/packages/rocm.scm (%rocm-version): Update to 6.4.2. (%rocm-llvm-origin): New variable. (rocm-cmake)[home-page]: Update. (rocm-device-libs)[source]: Use %rocm-llvm-origin. [arguments]: Add build-type. Add chdir phase. [home-page]: Update. (rocm-comgr)[source]: Use %rocm-llvm-origin. Remove patch. [arguments]: Add build-type. Rename chdir phase to prepare-to build, setting ROCM_PATH. [inputs]: Move llvm-for-rocm from here ... [native-inputs]: ... to here. Add python. [home-page]: Update. (roct-thunk-interface): Update to 6.2.4. [source, home-page]: Update URL. (rocr-runtime)[source]: Update URL. [arguments]: Add build-type. Update and simplify add-rocm-device-lib-path phase. [inputs]: Change libelf to libelf-shared. [home-page]: Update. (rocclr-src): Remove variable. (rocm-opencl-runtime)[home-page]: Update. [source]{patches}: Add patch (that was in rocclr-src before). [arguments]: Add build-type. Update configure-flags. Add no-os-release phase. (rocminfo)[source, home-page]: Update URL. (rocm-bandwidth-test)[source]: Update URL. Remove patch. [home-page]: Update. * gnu/local.mk (dist_patch_DATA): Remove patches. Change-Id: I2157255a9546110ac683c12c131a330402e2fd93 Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/llvm.scm28
-rw-r--r--gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch44
-rw-r--r--gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch79
-rw-r--r--gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch56
-rw-r--r--gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch25
-rw-r--r--gnu/packages/rocm.scm145
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