sci-libs/rocBLAS: 6.1.1 make Tensile dependency optional

Building with Tensile requires actual hardware present, to avoid breaking CI
make this optional.

Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Paul Zander
2024-06-25 22:42:19 +02:00
committed by Sam James
parent 7df7f8e93e
commit e7c753b648
2 changed files with 21 additions and 14 deletions

View File

@@ -28,6 +28,7 @@ RDEPEND="${PYTHON_DEPS}
>=dev-cpp/msgpack-cxx-6.0.0
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/msgpack[${PYTHON_USEDEP}]
dev-python/joblib[${PYTHON_USEDEP}]
=dev-util/hip-6*
>=dev-util/rocm-smi-4.3.0
$(llvm_gen_dep '

View File

@@ -17,14 +17,15 @@ S="${WORKDIR}/${PN}-rocm-${PV}"
LICENSE="BSD"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
IUSE="benchmark test"
IUSE="benchmark test video_cards_amdgpu"
RESTRICT="!test? ( test )"
REQUIRED_USE="${ROCM_REQUIRED_USE}"
BDEPEND="
>=dev-build/rocm-cmake-5.3
dev-util/Tensile:${SLOT}
dev-python/joblib
video_cards_amdgpu? (
dev-util/Tensile:${SLOT}
)
test? ( dev-cpp/gtest )
"
@@ -66,20 +67,25 @@ src_configure() {
-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
-DROCM_SYMLINK_LIBS=OFF
-DAMDGPU_TARGETS="$(get_amdgpu_flags)"
-DTensile_LOGIC="asm_full"
-DTensile_COMPILER="hipcc"
-DTensile_LIBRARY_FORMAT="msgpack"
-DTensile_CODE_OBJECT_VERSION="default"
-DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
-DBUILD_WITH_TENSILE=ON
-DBUILD_WITH_TENSILE="$(usex video_cards_amdgpu)"
-DCMAKE_INSTALL_INCLUDEDIR="include/rocblas"
-DBUILD_CLIENTS_SAMPLES=OFF
-DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
-DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
-DTensile_CPU_THREADS=$(makeopts_jobs)
-DBUILD_CLIENTS_TESTS="$(usex test)"
-DBUILD_CLIENTS_BENCHMARKS="$(usex benchmark)"
-DBUILD_WITH_PIP=OFF
)
if usex video_cards_amdgpu; then
mycmakeargs+=(
-DTensile_LOGIC="asm_full"
-DTensile_COMPILER="hipcc"
-DTensile_LIBRARY_FORMAT="msgpack"
-DTensile_CODE_OBJECT_VERSION="default"
-DTensile_ROOT="${EPREFIX}/usr/share/Tensile"
-DTensile_CPU_THREADS="$(makeopts_jobs)"
)
fi
CXX=hipcc cmake_src_configure
}
@@ -93,7 +99,7 @@ src_test() {
cd "${BUILD_DIR}"/clients/staging || die
export ROCBLAS_TEST_TIMEOUT=3600 ROCBLAS_TENSILE_LIBPATH="${BUILD_DIR}/Tensile/library"
export LD_LIBRARY_PATH="${BUILD_DIR}/clients:${BUILD_DIR}/library/src"
edob ./${PN,,}-test
edob "./${PN,,}-test"
}
src_install() {
@@ -107,5 +113,5 @@ src_install() {
# Stop llvm-strip from removing .strtab section from *.hsaco files,
# otherwise rocclr/elf/elf.cpp complains with "failed: null sections(STRTAB)" and crashes
dostrip -x /usr/$(get_libdir)/rocblas/library/
dostrip -x "/usr/$(get_libdir)/rocblas/library/"
}