1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

gnu: adaptivecpp: Add rocm backend.

* gnu/packages/sycl.scm (adaptivecpp)[inputs]: Add rocm-device-libs,
rocm-hip-runtime, and rocr-runtime.
[native-inputs]: Remove clang-19 and lld-19; add clang-20 and lld-20.
[arguments]: Adjust #:configure-flags accordingly.
[synopsis]: Refresh.
[description]: Update.

Merges guix/guix!5879

Change-Id: Ide6484230237ae348e6a71be43bc30f5231af597
This commit is contained in:
Cayetano Santos
2026-01-24 17:46:45 +01:00
parent 11097ec2e0
commit 0c1046ac0d

View File

@@ -52,13 +52,16 @@
(base32 (base32
"0sv5f366ybzpsdpka0fb578pb4q3537h6hkn825m0kbssh32wxk7")))) "0sv5f366ybzpsdpka0fb578pb4q3537h6hkn825m0kbssh32wxk7"))))
(build-system cmake-build-system) (build-system cmake-build-system)
;; Sync with llvm-for-rocm llvm release. ;; Sync with llvm version used by llvm-rocm.
(native-inputs (list clang-19 lld-19 python-minimal)) (native-inputs (list clang-20 lld-20 python-minimal))
(inputs (inputs
(list boost (list boost
libffi libffi
numactl numactl
rocm-opencl-runtime rocm-opencl-runtime
rocm-device-libs
rocm-hip-runtime
rocr-runtime
spirv-headers spirv-headers
spirv-tools)) spirv-tools))
(arguments (arguments
@@ -69,15 +72,25 @@
#$output "/lib,-rpath=" #$output "/lib,-rpath="
#$output "/lib/hipSYCL/llvm-to-backend") #$output "/lib/hipSYCL/llvm-to-backend")
(string-append (string-append
"-DACPP_LLD_PATH=" (search-input-file %build-inputs "/bin/ld.lld"))) "-DACPP_LLD_PATH=" (search-input-file %build-inputs "/bin/ld.lld"))
"-DWITH_ROCM_BACKEND=ON"
(string-append
"-DROCM_PATH=" #$(this-package-input "rocm-device-libs"))
(string-append
"-DROCM_DEVICE_LIBS_PATH=" #$(this-package-input "rocm-device-libs")
"/amdgcn/bitcode"))
#:tests? #f)) ; no tests #:tests? #f)) ; no tests
(home-page "https://adaptivecpp.github.io/") (home-page "https://adaptivecpp.github.io/")
(synopsis (synopsis
"Implementation of the SYCL programming language for accelerators") "Compiler for multiple programming models for CPUs and GPUs")
(description (description
"AdaptiveCpp is aImplementation of SYCL and C++ standard parallelism "AdaptiveCpp is a community-driven compiler for C++-based heterogeneous
for CPUs and GPUs from all vendors, with independent, community-driven programming models. It implements SYCL, C++ standard parallelism, and
compiler for C++-based heterogeneous programming models") HIP/CUDA, targeting CPUs and GPUs from all major vendors. AdaptiveCpp lets
applications adapt themselves to all the hardware found in the system. This
includes use cases where a single binary needs to be able to target all
supported hardware, or utilize hardware from different vendors
simultaneously.")
(license license:bsd-2))) (license license:bsd-2)))
(define-deprecated-package opensycl (define-deprecated-package opensycl