Moving these definitions to a separate module is necessary to avoid circular
references at the top-level among package modules.
* gnu/packages/rocm.scm (%default-amd-gpu-targets, current-amd-gpu-targets)
(current-amd-gpu-targets-string): Move to…
* guix/amd-gpu.scm: … here. New file.
* Makefile.am (MODULES): Add it.
Merges guix/guix!7251
Change-Id: I60496fb4d81ea0445ec176add7afc388f6790bd3
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
At this point, git depends on julia, which is broken, see #6577.
Merges guix/guix!6578
* gnu/packages/rocm.scm (rocm-cmake)[native-inputs]: Remove git; add
git-minimal/pinned.
Change-Id: I32402d3a5015520eb2021d0ac4895709b589f169
Adapted from the Guix-HPC channel (https://gitlab.inria.fr/guix-hpc/guix-hpc).
* gnu/packages/rocm-libs.scm: New file.
(%rocm-version): New variable.
(%rocm-libraries-url): New variable.
(rocm-libraries-monorepo): New variable.
(rocm-library-source): New procedure.
(rocrand): New variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This is a string of GPU architectures separated by ";", which is commonly used
by ROCm libraries.
* gnu/packages/rocm.scm (current-amd-gpu-targets-string): New macro.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Adapted from the Guix-HPC channel (https://gitlab.inria.fr/guix-hpc/guix-hpc).
* gnu/packages/rocm-tools.scm: New file.
(%rocm-version): New variable.
(hipify): New variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/llvm.scm (%rocm-llvm-version): New variable.
(make-llvm-rocm): New procedure.
(llvm-rocm): New variable.
(make-clang-runtime-rocm): New procedure.
(clang-runtime-rocm): New variable.
(make-clang-rocm): New procedure.
(clang-rocm): New variable.
(rocm-device-libs): New variable.
(rocm-comgr): New variable.
(rocm-hipcc): New variable.
(make-lld-rocm): New procedure.
(lld-rocm): New variable.
* gnu/packages/rocm.scm: Add perl to imports.
(%rocm-version): Update to 7.1.0.
(%rocm-systems-url, %rocm-systems-origin): New variables.
(rocr-runtime): Use %rocm-systems-origin and update build.
(rocm-opencl-runtime): Use %rocm-systems-origin and update build.
(rocm-hip-runtime): New variable.
(rocminfo): Use %rocm-systems-origin and update build.
(%default-amdgpu-targets, %default-amdgpu-targets-property): New variables.
(%amdgpu-targets): New syntax.
(rocm-bandwidth-test): Update and add comprehensive build support.
* gnu/local.mk: Add rocm-bandwidth-test patches.
* gnu/packages/patches/rocm-bandwidth-test-fix-external-packages-search.patch,
gnu/packages/patches/rocm-bandwidth-test-fix-hsa-include-file-lookup.patch,
gnu/packages/patches/rocm-bandwidth-test-take-default-gpus-from-environment.patch:
New files.
* gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch,
gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch: Update patch paths.
Change-Id: I43f162b9f8ab898e25d8ecbe4ea30be84a29eb0d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
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>
Update all of the ROCm packages at the same time as they share a version
number and should be upgraded together, including llvm-for-rocm.
* gnu/packages/llvm.scm (llvm-for-rocm): Update to 5.6.0.
[source]{patches}: Remove unneeded patches (linkdl and remove-isystem-usr-include).
* gnu/packages/rocm.scm (rocm-cmake, roct-thunk-interface): Update
to 5.6.0.
(rocclr-src): Update to 5.6.0.
[source]{patches}: Add enable-gfx800 patch.
(rocm-device-libs): Update to 5.6.0.
[inputs]: Update style.
(rocm-comgr): Update to 5.6.0.
[inputs]: Remove lld. Update style.
(rocr-runtime): Update to 5.6.0.
[arguments]: Use gexps. Remove configure-flags. Add add-rocm-device-lib-path
phase.
[inputs]: Add libdrm. Update style.
[native-inputs]: Add pkg-config. Update style.
(rocm-opencl-runtime): Update to 5.6.0.
[source]{patches}: Remove noopencl patch.
[arguments]{configure-flags}: Add BUILD_ICD=OFF and
FILE_REORG_BACKWARD_COMPATIBILITY=OFF flags.
[inputs]: Add opencl-headers.
(rocminfo): Update to 5.6.0.
[arguments]: Use gexps. Use search-input-file instead of assoc-ref and which.
(rocm-bandwidth-test): Update to 5.6.0.
[source]{patches}: Add fix-includes patch.
* gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch,
gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch: Update patches.
* gnu/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch,
gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch,
gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch: Delete files.
* gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch,
gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch: New files.
* gnu/local.mk (dist_patch_DATA): Update patches.
Not useful on its own after upgrading to ROCm 5 in commit
01444b297bb3ed28bb33cd01604aadb98bb65333.
* gnu/packages/rocm.scm (rocclr-4): Remove variable.
All packages updated at the same time as they have a shared version. rocclr is
no longer a stand-alone package, so the previous version is kept as rocclr-4
and the current version is just the source, rocclr-src, needed by rocm-opencl-runtime.
* gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch,
gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
* gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch,
gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch,
gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch: Update patches.
* gnu/packages/rocm.scm (rocm-cmake, rocm-device-libs, rocm-comgr,
roct-thunk-interface, rocr-runtime, rocm-opencl-runtime, rocminfo,
rocm-bandwidth-test): Update to 5.1.3.
(roct-thunk-interface)[inputs]: Add libdrm.
[native-inputs]: Add gcc:lib and pkg-config.
(rocclr-src): New variable.
(rocclr-4): New variable (previous version of the package).
(rocm-opencl-runtime)[source]: Remove obsolete patches.
[arguments]: Rewrite with gexps. Add needed #:configure-flags.
[inputs]: Remove rocclr, add numactl.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This removes a cross-module top-level reference, which could lead to
build errors when importing (gnu packages rocm) in another module.
* gnu/packages/rocm.scm (llvm-for-rocm): Move to...
* gnu/packages/llvm.scm (llvm-for-rocm): ... here.
ocl-icd’s project page is dead and the source code is unavailable.
* gnu/packages/opencl.scm (ocl-icd): Alias to opencl-icd-loader.
(clinfo)[inputs]: Use opencl-icd-loader.
(beignet)[inputs]: Dito.
(pocl)[inputs]: Dito.
(python-pyopencl)[inputs]: Dito.
* gnu/packages/games.scm (leela-zero)[inputs]: Dito.
* gnu/packages/photo.scm (darktable)[inputs]: Dito.
* gnu/packages/rocm.scm (rocm-opencl-runtime)[inputs]: Dito.
* gnu/packages/rocm.scm (rocm-comgr): New variable.
* gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.