diff options
Diffstat (limited to 'sci-libs/rocBLAS')
-rw-r--r-- | sci-libs/rocBLAS/Manifest | 8 | ||||
-rw-r--r-- | sci-libs/rocBLAS/files/rocBLAS-6.3.0-find-cblas.patch | 19 | ||||
-rw-r--r-- | sci-libs/rocBLAS/files/rocBLAS-6.3.0-no-git.patch | 22 | ||||
-rw-r--r-- | sci-libs/rocBLAS/metadata.xml | 3 | ||||
-rw-r--r-- | sci-libs/rocBLAS/rocBLAS-6.1.1-r1.ebuild | 8 | ||||
-rw-r--r-- | sci-libs/rocBLAS/rocBLAS-6.3.0.ebuild | 127 |
6 files changed, 182 insertions, 5 deletions
diff --git a/sci-libs/rocBLAS/Manifest b/sci-libs/rocBLAS/Manifest index 693a70cf2f48..b19675890869 100644 --- a/sci-libs/rocBLAS/Manifest +++ b/sci-libs/rocBLAS/Manifest @@ -8,14 +8,18 @@ AUX rocBLAS-5.4.2-link-cblas.patch 508 BLAKE2B ab53db7c73cc174039880ebd8987adc88 AUX rocBLAS-5.4.2-unbundle-Tensile.patch 1373 BLAKE2B 944771b7511de883aa106016cf59e3cb94248119af472aed75c76c712fc9ee2e9e765d472ef727776d95ee478f1701c12853c37be269ee4940a3cde9e1f41cc7 SHA512 bdf01803a0594b53f248bc57594e7bed2f3f4cc772de8b5a043fa849798887291cb14d273511d33453c0685a113a9064a218a56d57631d2e9c1126eb62853668 AUX rocBLAS-5.7.1-expand-isa-compatibility.patch 3771 BLAKE2B 3be8a45734c4d3ce0d54981e48685c500d6cf8ba1981b6035f2cb83cad1c221afcf50e5d9fbdaa9966ce64e99845c57b32267adda7983bb9a511fec661a0cfeb SHA512 86eedaa1bf6d0430f4b059d9257539dd95d56bdfc0cb61ceb0d180e29f76e280505c8b0002eba71c8152522c637917cd0b9ac7fb2f07059b3b5b6076f8ac7c59 AUX rocBLAS-6.0.2-expand-isa-compatibility.patch 3792 BLAKE2B 55a57fad4cce821f83d04156942c33ab1842389dc0c4ad1ceea0c2435a37d9912bf24f0359023735b503bea5505b47e2e707b0798d93cdc5622d34821b1e3950 SHA512 c21de66ddc126b5ac5b588c9e68283e8d32574ec0a28963e62244a176edfb0c9188236a75b3985d2cf9043f4fb919a837326ede94045dce9158e9651228b0c38 +AUX rocBLAS-6.3.0-find-cblas.patch 826 BLAKE2B efb788243bb137bf2519757928d1594478f560db75e92ed0b7fc1f1d40c9e5ed2047692e4c17a11a8f7d0b283227b38b0b3bacc323606d2f4b33f122699512b5 SHA512 cbf29a83375d6eca6efc319e7becd198ed205b1288c108e98a69968c629c979c07950d4743ef96e7ba88a9a28db9898e07b6c72bcd447370f4a00ae6812828f3 +AUX rocBLAS-6.3.0-no-git.patch 781 BLAKE2B 74e58498aec88b586c949288b3f9e5c58f77198fd1c277a7bd797fc0a7004e6786797672a419912ef4d53589edf142b9335c82c77b34defd5409ca7240e8ee70 SHA512 137ee786ac1f3515a706106d8d5057b8fc1e0d4b0470a0eb46aca252f3e64cee21734a90e194e01db95a0439c48b798e81c3993a615d31275c925f81004f9da6 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.1.3.tar.gz 13741546 BLAKE2B af10d8cb69bee44ef5aab2dc350e1d9f3b6fddb3a840c17230c4b55b2649a4724c9f2e58c1eafdb3e2716eea016a72a35c3ddb498881b1ce682d780baa8d8b07 SHA512 5ab71838fdd0e9c5848cbf28a19d113353b619a878d8c7d05f64feb32faae2054169c95ed6e9dd6b05a2e807b57229dd2c361c4d289b6e6f17c196558640890f DIST rocm-rocBLAS-5.4.2.tar.gz 15938434 BLAKE2B 14ebafa944fdac443800bb7f9b16f8ecf0f420b168d3c6534f68ad7d14bf058a4cc1673fce8f4b9be53e4a6c1cf05011e01853cd901bce0b59827d2aca4d029f SHA512 e62bb80457c1e89454885499bdce9d60beecd706806724418983c78c65c2ae303550f9670b5a6e71dae6a61c0e42b223ab01b36b8406430731ebcbff54c4a8f4 DIST rocm-rocBLAS-5.7.1.tar.gz 55389700 BLAKE2B 9e58b1d29c8a04aa58ce17fdd9b0c2504934261851619dc5b696a04e8c6a79e7c44d86a6db7a9c76a434d76593de8c191cba6f163cf398d01cfc001e5fa32b5a SHA512 cfc73f6c490595a3c153c2ac2a3cb5926c48c2c19baa07ff3dcdf3a7ccaed82cfdff64ed5a3be64c349cb43d654d4b104d9090e2ec9f2061049d6a4921c07722 DIST rocm-rocBLAS-6.1.1.tar.gz 100103895 BLAKE2B df89a21e47730714b80c62717a86d65ac0d819c2d33b2a3c6252b60b8d7cc9eb5f8f1db27159b0a8dfc87aba7ccad97e2f832bc0044e92d0b69c526d382c745a SHA512 74e847c4ddee16cae7f41e268a815ea03875519c365abe7dfce313a9545df245baa73301b432f64a36cc988281fec7530629a0d72583e9ea287c98ec8a0b3907 +DIST rocm-rocBLAS-6.3.0.tar.gz 57907324 BLAKE2B a3cce68e0cc06e8df56e1622889254c75744b0f85c9fe66cb94bbc158f7ce45e40a5798d30e6a10430092490c1e347f19f38b36db767ccb784c5757581b0bccb SHA512 45a524d680f1f0760fd37d49b9bd7c6257731ad5d840d832a8e40c121f7f1045a8d5b57ca8ef0943fdf333c55bccb341b529d2ca24664694203b906e510ecab5 EBUILD rocBLAS-5.1.3-r4.ebuild 3060 BLAKE2B fc5dba7b188129cc7c1c7fc07737d96ac86bc6aa2dc86779cceca028d31f0177592dba7698850a504451a253421511a445498a0df4654b12e60ab895b2efeadd SHA512 f6eba78811b8d581a7a4417a1ab637824012b5a30b5c76c6ec5a504d759691d432c53e15ede8ba5edc729a2a8863e86b819aa472589e146e8841c605ff138ba3 EBUILD rocBLAS-5.4.2-r3.ebuild 2699 BLAKE2B a1b5134614e21bb3741530843d17d6016a1629ac9008908004b7743e2c9ff08509ba016db06a127a82679e3864d3e3cb12f1e2808e2edb2223c8993c10cc85d3 SHA512 9208a43e7ec94d9b2dcd61202695f3a78ec89d1062e64500f664a322c3b11e8fadb6e30ec5063012029b28ded5abc819dcd72b0d2b30781cca8b4d0d1897f880 EBUILD rocBLAS-5.7.1-r2.ebuild 2728 BLAKE2B e8256cd30876c89d9d84180e4621884d87c873e9680980369b6ec1a377fac3ba441bfbe5ebd160dbe5a7c13f868a15afd14328f663ff05afae136670a1a7ce97 SHA512 390911c868c8cb4bdec520bcf0d189922e528200c2b43946542034a3bd72141a47730ce67a5d755c4469100165194c8bcdfd81f9e6d6394ee7e51e0f84cac13f -EBUILD rocBLAS-6.1.1-r1.ebuild 2810 BLAKE2B 053b7b9e8bde873158c920a2161c18317541c55dc5f3bb5bfe8d3372bae0f17f0c9efed1dc9878e864e3c587da63f26672815defbef9e1657435bb7bca505a35 SHA512 dc4a733e56a9c28486fc5304a9f03b42dccda88036e18f5a2e0be40663a21aefc623e83311e740b9048c45d7edb64b764ca5477d00b2546b51cbcfa6a47e3fda -MISC metadata.xml 852 BLAKE2B c358ef9128e50c5052fea39876550419dc037a8750c8dd12f10415a02dd2a64893ecd11c4c0ee4acc8db83999a4f709a98da53f6d12f71d0782f98af92a37a96 SHA512 18de129cceb076f84235ccb5706287ee16c5843dab654dc9494013b89b07bbb9f82d1e4980e1c1a8e0c8ce2b0e125633cefef069b0e97b3127e0240071d5a53a +EBUILD rocBLAS-6.1.1-r1.ebuild 3032 BLAKE2B d0815d198208beaa77059ccadeca6c0e9331e52ec1292c1467fecf38ebf8356ddc7b5b8b2e84e1dfe541215cfc54f15b11d20877f56983ec06688edc5119e657 SHA512 91d95e5654369256a1691e204f54f9c71c2aec0a5f09d8fb1bf739d75af38a5ae7e55a6435524832996ed7eaa218709581fd73d6c9f176509ec7f2a488275e7a +EBUILD rocBLAS-6.3.0.ebuild 3153 BLAKE2B 3660826d5d9482c37b2fecf25cf63b53c62f6ee77e088e7230a6d014adb9a1df05bd5052449226a13fdf4a8bc057d544a3937ba764616618def5dd771b9dd498 SHA512 1a1dbf60a04e708fc27311efa893175e1c42965920fd037ed1c5e461cd221291e841c2141e51ba6534adcb5955ee800015605717d26084c899ba322ea5b68514 +MISC metadata.xml 951 BLAKE2B 932f1bf013b1a322d19013e6f60905b9b9923650d2feaeb7d907fb6a5a95feba90ad62da496fb09965afd43d972d695158fe3f0a6d7377fab53db8cfa7a8e45d SHA512 0c7cbdeb1325718901040d76cc8b80640d849b7fe647c6f5168e86a42d7e571f0d272dc24d987bf2ca11d62b8f5a6093c833d33da121bc82ea12a3dedc7f19e9 diff --git a/sci-libs/rocBLAS/files/rocBLAS-6.3.0-find-cblas.patch b/sci-libs/rocBLAS/files/rocBLAS-6.3.0-find-cblas.patch new file mode 100644 index 000000000000..4afb07789581 --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-6.3.0-find-cblas.patch @@ -0,0 +1,19 @@ +diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt +index 4485fee..51eedc9 100644 +--- a/clients/CMakeLists.txt ++++ b/clients/CMakeLists.txt +@@ -140,10 +140,12 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS) + set( BLAS_LIBRARY /usr/local/lib/libblis.a ) + set( BLIS_INCLUDE_DIR /usr/local/include/blis ) + else() +- message( WARNING "Could not find libblis" ) ++ message( FATAL_ERROR "Could not find libblis" ) + endif() + else() +- set( BLAS_LIBRARY "blas -lcblas" ) ++ find_package( CBLAS CONFIG REQUIRED ) ++ set( BLAS_LIBRARY ${CBLAS_LIBRARIES} ) ++ set( BLAS_INCLUDE_DIR ${CBLAS_INCLUDE_DIRS} ) + endif() + else() # WIN32 + file(TO_CMAKE_PATH "C:/Program\ Files/AMD/AOCL-Windows/amd-blis/lib/ILP64/AOCL-LibBlis-Win-MT.lib" AOCL_BLAS_LIBRARY) diff --git a/sci-libs/rocBLAS/files/rocBLAS-6.3.0-no-git.patch b/sci-libs/rocBLAS/files/rocBLAS-6.3.0-no-git.patch new file mode 100644 index 000000000000..39ce71a85eb1 --- /dev/null +++ b/sci-libs/rocBLAS/files/rocBLAS-6.3.0-no-git.patch @@ -0,0 +1,22 @@ +Git should not be a required dependency, as hash is not available for releases. +--- a/library/CMakeLists.txt ++++ b/library/CMakeLists.txt +@@ -144,17 +144,8 @@ if( BUILD_VERBOSE ) + message( STATUS "\t==>CMAKE_SHARED_LINKER_FLAGS_RELEASE: ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" ) + endif( ) + +-find_package(Git REQUIRED) +- +-# Get the git hash of the rocBLAS branch +-execute_process( +- COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD +- WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} +- OUTPUT_VARIABLE GIT_HASH_ROCBLAS +- OUTPUT_STRIP_TRAILING_WHITESPACE) +- + #set the rocBLAS commit hash +-set(rocblas_VERSION_COMMIT_ID "${GIT_HASH_ROCBLAS}") ++set(rocblas_VERSION_COMMIT_ID "") + + #set the Tensile commit hash + set(tensile_VERSION_COMMIT_ID "${tensile_tag}") diff --git a/sci-libs/rocBLAS/metadata.xml b/sci-libs/rocBLAS/metadata.xml index 0e8f76b2a76e..bd9344786002 100644 --- a/sci-libs/rocBLAS/metadata.xml +++ b/sci-libs/rocBLAS/metadata.xml @@ -19,8 +19,9 @@ <use> <flag name="test">Perform rocblas-test to compare the result between rocBLAS and system BLAS.</flag> <flag name="benchmark">Build and install rocblas-bench.</flag> + <flag name="hipblaslt">Build with hipBLASLt for some non-batched and strided batched problems on gfx12.</flag> </use> <upstream> - <remote-id type="github">ROCmSoftwarePlatform/rocBLAS</remote-id> + <remote-id type="github">ROCm/rocBLAS</remote-id> </upstream> </pkgmetadata> diff --git a/sci-libs/rocBLAS/rocBLAS-6.1.1-r1.ebuild b/sci-libs/rocBLAS/rocBLAS-6.1.1-r1.ebuild index b101aed6dee7..9f2bb6782d44 100644 --- a/sci-libs/rocBLAS/rocBLAS-6.1.1-r1.ebuild +++ b/sci-libs/rocBLAS/rocBLAS-6.1.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -33,7 +33,7 @@ BDEPEND=" DEPEND=" >=dev-cpp/msgpack-cxx-6.0.0 - =dev-util/hip-6* + dev-util/hip:${SLOT} test? ( virtual/blas dev-cpp/gtest @@ -57,6 +57,10 @@ PATCHES=( src_prepare() { cmake_src_prepare sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die + + # bug 944820: f16c instuctions cause SIGILL on pre-AVX512 CPUs + sed -i -e "s/-mf16c //" clients/benchmarks/CMakeLists.txt \ + clients/gtest/CMakeLists.txt clients/samples/CMakeLists.txt library/CMakeLists.txt || die } src_configure() { diff --git a/sci-libs/rocBLAS/rocBLAS-6.3.0.ebuild b/sci-libs/rocBLAS/rocBLAS-6.3.0.ebuild new file mode 100644 index 000000000000..f35ee735d2fb --- /dev/null +++ b/sci-libs/rocBLAS/rocBLAS-6.3.0.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOCS_BUILDER="doxygen" +DOCS_DIR="docs/.doxygen" +DOCS_DEPEND="media-gfx/graphviz" +LLVM_COMPAT=( 19 ) +ROCM_VERSION=${PV} + +inherit cmake docs edo flag-o-matic multiprocessing rocm llvm-r1 + +DESCRIPTION="AMD's library for BLAS on ROCm" +HOMEPAGE="https://github.com/ROCm/rocBLAS" +SRC_URI="https://github.com/ROCm/rocBLAS/archive/rocm-${PV}.tar.gz -> rocm-${P}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="benchmark hipblaslt test video_cards_amdgpu" +RESTRICT="!test? ( test )" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +BDEPEND=" + >=dev-build/rocm-cmake-5.3 + video_cards_amdgpu? ( + dev-util/Tensile:${SLOT} + ) + hipblaslt? ( sci-libs/hipBLASLt:${SLOT} ) + test? ( dev-cpp/gtest ) +" + +DEPEND=" + >=dev-cpp/msgpack-cxx-6.0.0 + dev-util/hip:${SLOT} + test? ( + virtual/blas + dev-cpp/gtest + llvm-runtimes/openmp + ) + benchmark? ( + virtual/blas + llvm-runtimes/openmp + ) +" + +QA_FLAGS_IGNORED="/usr/lib64/rocblas/library/.*" + +PATCHES=( + "${FILESDIR}"/${PN}-5.4.2-add-missing-header.patch + "${FILESDIR}"/${PN}-5.4.2-link-cblas.patch + "${FILESDIR}"/${PN}-6.0.2-expand-isa-compatibility.patch + "${FILESDIR}"/${PN}-6.3.0-no-git.patch + "${FILESDIR}"/${PN}-6.3.0-find-cblas.patch +) + +src_prepare() { + cmake_src_prepare + sed -e "s:,-rpath=.*\":\":" -i clients/CMakeLists.txt || die +} + +src_configure() { + rocm_use_hipcc + + # too many warnings + append-cxxflags -Wno-explicit-specialization-storage-class + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -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)" + -DBUILD_WITH_PIP=OFF + -DBUILD_WITH_HIPBLASLT="$(usex hipblaslt ON OFF)" + -DLINK_BLIS=OFF + -Wno-dev + ) + + 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 + + cmake_src_configure +} + +src_compile() { + docs_compile + cmake_src_compile +} + +src_test() { + check_amdgpu + 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" + + # `--gtest_filter=*quick*:*pre_checkin*-*known_bug*` is >1h on 7900XTX + edob ./rocblas-test --yaml rocblas_smoke.yaml +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dolib.a clients/librocblas_fortran_client.a + dobin clients/staging/rocblas-bench + fi + + # 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/" +} |