mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sci-libs/rocBLAS: drop 5.0.2-r2
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
DIST rocBLAS-5.0.2-Tensile-asm_full-navi22.tar.gz 1110323 BLAKE2B 80fab97c6f89fccf1f8829ad41baf15ad31bbbb313b48825841834c7ec1b9f8ece794aebdf9fda42b54a38f642beb1bc1e374f2f3b4e43d8ba9dfd1eb6e3ece5 SHA512 8f6946cf9d68afd195640ae7e0da8dc33341c67f28813813b5361a56531fa2af4453d075703ea52c66d93a1936cf74688b86aa2fa62b52a7ed5f03272290c232
|
||||
DIST rocBLAS-5.4.2-Tensile-asm_full-navi22.tar.gz 1057686 BLAKE2B aa755595bbcd48775713f1d94c18b9bfa6464cae97653dd5beda9e4ed600802b62c4159e6edef7fbd4c92e629bbda1c284e6c48e096c7eaf22bbaad86bdcdace SHA512 cdc928528e7ce5bcc3ae32ec18e3aee48533f24e77c1e42f6e0398858eefebd52b8812caabe01a0ef7fa552e00118b862e025f1675a9642b009f1e38efbcdd53
|
||||
DIST rocm-rocBLAS-5.0.2.tar.gz 13295178 BLAKE2B e1abfa06b9ac1545732465857839dae3f3708af49439a306a2b5b1b1b392101c38c95815f2c05a0d9ed29d41b154bc2e16a4f9203a37f5e2f68ee12cc4b44a06 SHA512 2f4a74f49350ede0debcf32229a6b6b95505615723c3f2bee16e4c169a3bb966dfb1971819028f47c525f571bea5662b892e63f655b0d1d2b8f20746bc5fe770
|
||||
DIST rocm-rocBLAS-5.1.3.tar.gz 13741546 BLAKE2B af10d8cb69bee44ef5aab2dc350e1d9f3b6fddb3a840c17230c4b55b2649a4724c9f2e58c1eafdb3e2716eea016a72a35c3ddb498881b1ce682d780baa8d8b07 SHA512 5ab71838fdd0e9c5848cbf28a19d113353b619a878d8c7d05f64feb32faae2054169c95ed6e9dd6b05a2e807b57229dd2c361c4d289b6e6f17c196558640890f
|
||||
DIST rocm-rocBLAS-5.4.2.tar.gz 15938434 BLAKE2B 14ebafa944fdac443800bb7f9b16f8ecf0f420b168d3c6534f68ad7d14bf058a4cc1673fce8f4b9be53e4a6c1cf05011e01853cd901bce0b59827d2aca4d029f SHA512 e62bb80457c1e89454885499bdce9d60beecd706806724418983c78c65c2ae303550f9670b5a6e71dae6a61c0e42b223ab01b36b8406430731ebcbff54c4a8f4
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
Only retain CMakeLists patch. We don't need install.sh, rmake.py
|
||||
Suggested-By: Alessandro Barbieri <lssndrbarbieri@gmail.com>
|
||||
================================================================
|
||||
From 0ffee0626bf987bae6b81183a5c61569a489537a Mon Sep 17 00:00:00 2001
|
||||
From: Torre Zuk <42548444+TorreZuk@users.noreply.github.com>
|
||||
Date: Thu, 4 Nov 2021 09:21:37 -0600
|
||||
Subject: [PATCH] Swdev 309014 add jobs arg (#953)
|
||||
|
||||
* adds -j --jobs argment passing of cpu_threads for build
|
||||
---
|
||||
CMakeLists.txt | 1 +
|
||||
install.sh | 16 ++++++++++++----
|
||||
library/src/CMakeLists.txt | 34 +++++++++++++++++++++++++---------
|
||||
rmake.py | 29 ++++++++++++++++++-----------
|
||||
4 files changed, 56 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 69cf8d586..40d88ea0a 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -244,6 +244,7 @@ if(NOT SKIP_LIBRARY)
|
||||
set( Tensile_CODE_OBJECT_VERSION "V2" CACHE STRING "Tensile code_object_version")
|
||||
set( Tensile_COMPILER "hipcc" CACHE STRING "Tensile compiler")
|
||||
set( Tensile_LIBRARY_FORMAT "msgpack" CACHE STRING "Tensile library format")
|
||||
+ set( Tensile_CPU_THREADS "" CACHE STRING "Number of threads for Tensile parallel build")
|
||||
|
||||
option( Tensile_MERGE_FILES "Tensile to merge kernels and solutions files?" ON )
|
||||
option( Tensile_SHORT_FILENAMES "Tensile to use short file names? Use if compiler complains they're too long." OFF )
|
||||
diff --git a/library/src/CMakeLists.txt b/library/src/CMakeLists.txt
|
||||
index 4f5e4572d..dedfe9794 100755
|
||||
--- a/library/src/CMakeLists.txt
|
||||
+++ b/library/src/CMakeLists.txt
|
||||
@@ -58,15 +58,31 @@ if( BUILD_WITH_TENSILE )
|
||||
|
||||
# Add a build target for Tensile kernel library
|
||||
# Runtime language is HIP by default
|
||||
- TensileCreateLibraryFiles(
|
||||
- "${CMAKE_CURRENT_SOURCE_DIR}/blas3/Tensile/Logic/${Tensile_LOGIC}"
|
||||
- "${PROJECT_BINARY_DIR}/Tensile"
|
||||
- ARCHITECTURE ${Tensile_ARCHITECTURE}
|
||||
- CODE_OBJECT_VERSION ${Tensile_CODE_OBJECT_VERSION}
|
||||
- COMPILER ${Tensile_COMPILER}
|
||||
- LIBRARY_FORMAT ${Tensile_LIBRARY_FORMAT}
|
||||
- ${Tensile_Options}
|
||||
- )
|
||||
+ # warning our Tensile_ variables may shadow variable in TensileCreateLibraryFiles
|
||||
+ # thus bypassing the function argument parameter system (mainly the options list) and CPU_THREADS
|
||||
+ if(Tensile_CPU_THREADS MATCHES "^[0-9]+$")
|
||||
+ # only including threads argument if number
|
||||
+ TensileCreateLibraryFiles(
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/blas3/Tensile/Logic/${Tensile_LOGIC}"
|
||||
+ "${PROJECT_BINARY_DIR}/Tensile"
|
||||
+ ARCHITECTURE ${Tensile_ARCHITECTURE}
|
||||
+ CODE_OBJECT_VERSION ${Tensile_CODE_OBJECT_VERSION}
|
||||
+ COMPILER ${Tensile_COMPILER}
|
||||
+ LIBRARY_FORMAT ${Tensile_LIBRARY_FORMAT}
|
||||
+ CPU_THREADS ${Tensile_CPU_THREADS}
|
||||
+ ${Tensile_Options}
|
||||
+ )
|
||||
+ else()
|
||||
+ TensileCreateLibraryFiles(
|
||||
+ "${CMAKE_CURRENT_SOURCE_DIR}/blas3/Tensile/Logic/${Tensile_LOGIC}"
|
||||
+ "${PROJECT_BINARY_DIR}/Tensile"
|
||||
+ ARCHITECTURE ${Tensile_ARCHITECTURE}
|
||||
+ CODE_OBJECT_VERSION ${Tensile_CODE_OBJECT_VERSION}
|
||||
+ COMPILER ${Tensile_COMPILER}
|
||||
+ LIBRARY_FORMAT ${Tensile_LIBRARY_FORMAT}
|
||||
+ ${Tensile_Options}
|
||||
+ )
|
||||
+ endif()
|
||||
|
||||
# Create a unique name for TensileHost compiled for rocBLAS
|
||||
set_target_properties( TensileHost PROPERTIES OUTPUT_NAME rocblas-tensile CXX_EXTENSIONS NO )
|
||||
@@ -1,137 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DOCS_BUILDER="doxygen"
|
||||
DOCS_DIR="docs"
|
||||
DOCS_DEPEND="media-gfx/graphviz"
|
||||
inherit cmake docs multiprocessing prefix
|
||||
|
||||
DESCRIPTION="AMD's library for BLAS on ROCm"
|
||||
HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rocBLAS"
|
||||
SRC_URI="https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz
|
||||
https://media.githubusercontent.com/media/littlewu2508/littlewu2508.github.io/main/gentoo-distfiles/${P}-Tensile-asm_full-navi22.tar.gz"
|
||||
S="${WORKDIR}/${PN}-rocm-${PV}"
|
||||
|
||||
LICENSE="BSD"
|
||||
KEYWORDS="~amd64"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
IUSE="benchmark test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
dev-util/rocm-cmake:${SLOT}
|
||||
>=dev-util/Tensile-${PV}-r1:${SLOT}
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
dev-util/hip:=
|
||||
dev-libs/msgpack
|
||||
test? (
|
||||
virtual/blas
|
||||
dev-cpp/gtest
|
||||
sys-libs/libomp
|
||||
)
|
||||
benchmark? (
|
||||
virtual/blas
|
||||
sys-libs/libomp
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.3.0-fix-glibc-2.32-and-above.patch
|
||||
"${FILESDIR}"/${PN}-5.0.2-change-default-Tensile-library-dir.patch
|
||||
"${FILESDIR}"/${PN}-5.0.2-cpp_lib_filesystem.patch
|
||||
"${FILESDIR}"/${PN}-5.0.2-unbundle-Tensile.patch
|
||||
"${FILESDIR}"/${PN}-5.0.2-respect-makeopts.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
cp -a "${WORKDIR}/asm_full/" library/src/blas3/Tensile/Logic/ || die
|
||||
# Fit for Gentoo FHS rule
|
||||
sed -e "/PREFIX rocblas/d" \
|
||||
-e "/<INSTALL_INTERFACE/s:include:include/rocblas:" \
|
||||
-e "s:rocblas/include:include/rocblas:" \
|
||||
-e "s:\\\\\${CPACK_PACKAGING_INSTALL_PREFIX}rocblas/lib:${EPREFIX}/usr/$(get_libdir)/rocblas:" \
|
||||
-e "s:share/doc/rocBLAS:share/doc/${P}:" \
|
||||
-e "/rocm_install_symlink_subdir( rocblas )/d" -i library/src/CMakeLists.txt || die
|
||||
|
||||
sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die
|
||||
|
||||
eprefixify library/src/tensile_host.cpp
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# allow acces to hardware
|
||||
addpredict /dev/kfd
|
||||
addpredict /dev/dri/
|
||||
addpredict /dev/random
|
||||
|
||||
export PATH="${EPREFIX}/usr/lib/llvm/roc/bin:${PATH}"
|
||||
|
||||
local mycmakeargs=(
|
||||
-DTensile_LOGIC="asm_full"
|
||||
-DTensile_COMPILER="hipcc"
|
||||
-DTensile_LIBRARY_FORMAT="msgpack"
|
||||
-DTensile_CODE_OBJECT_VERSION="V3"
|
||||
-DTensile_TEST_LOCAL_PATH="${EPREFIX}/usr/share/Tensile"
|
||||
-DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
|
||||
-DBUILD_WITH_TENSILE=ON
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
|
||||
-DCMAKE_INSTALL_INCLUDEDIR="include/rocblas"
|
||||
-DCMAKE_SKIP_RPATH=TRUE
|
||||
-DBUILD_TESTING=OFF
|
||||
-DBUILD_CLIENTS_SAMPLES=OFF
|
||||
-DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
|
||||
-DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
|
||||
-DTensile_CPU_THREADS=$(makeopts_jobs)
|
||||
${AMDGPU_TARGETS+-DAMDGPU_TARGETS="${AMDGPU_TARGETS}"}
|
||||
)
|
||||
|
||||
CXX="hipcc" cmake_src_configure
|
||||
|
||||
# do not rerun cmake and the build process in src_install
|
||||
sed -e '/RERUN/,+1d' -i "${BUILD_DIR}"/build.ninja || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
docs_compile
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
check_rw_permission() {
|
||||
local cmd="[ -r $1 ] && [ -w $1 ]"
|
||||
local error=0 user
|
||||
if has sandbox ${FEATURES}; then
|
||||
user="portage"
|
||||
su portage -c "${cmd}" || error=1
|
||||
else
|
||||
user="$(whoami)"
|
||||
bash -c "${cmd}" || error=1
|
||||
fi
|
||||
if [[ "${error}" == 1 ]]; then
|
||||
die "${user} do not have read and write permissions on $1! \n Make sure ${user} is in render group and check the permissions."
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# check permissions on /dev/kfd and /dev/dri/render*
|
||||
check_rw_permission /dev/kfd
|
||||
check_rw_permission /dev/dri/render*
|
||||
addwrite /dev/kfd
|
||||
addwrite /dev/dri/
|
||||
cd "${BUILD_DIR}/clients/staging" || die
|
||||
ROCBLAS_TEST_TIMEOUT=3600 LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src" ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library" ./rocblas-test || die "Tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
if use benchmark; then
|
||||
cd "${BUILD_DIR}" || die
|
||||
dolib.so clients/librocblas_fortran_client.so
|
||||
dobin clients/staging/rocblas-bench
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user