public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sci-libs/hipSPARSE/files/, sci-libs/hipSPARSE/
@ 2021-11-06 13:24 Benda XU
  0 siblings, 0 replies; 2+ messages in thread
From: Benda XU @ 2021-11-06 13:24 UTC (permalink / raw
  To: gentoo-commits

commit:     4155ae20c3247eea221e68a08ce2dde99e45c97a
Author:     YiyangWu <xgreenlandforwyy <AT> gmail <DOT> com>
AuthorDate: Thu Aug 26 06:25:08 2021 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Sat Nov  6 13:24:16 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4155ae20

sci-libs/hipSPARSE: bump version to 4.3.0

Enable test.

Closes: https://github.com/gentoo/gentoo/pull/22805
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com>
Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>

 sci-libs/hipSPARSE/Manifest                        |  20 ++++
 ...hipSPARSE-4.3.0-remove-matrices-unpacking.patch | 117 +++++++++++++++++++++
 sci-libs/hipSPARSE/hipSPARSE-4.3.0.ebuild          | 105 ++++++++++++++++++
 3 files changed, 242 insertions(+)

diff --git a/sci-libs/hipSPARSE/Manifest b/sci-libs/hipSPARSE/Manifest
index f1697cac257..7571fae5989 100644
--- a/sci-libs/hipSPARSE/Manifest
+++ b/sci-libs/hipSPARSE/Manifest
@@ -1 +1,21 @@
 DIST hipSPARSE-4.0.tar.gz 271756 BLAKE2B d774632c145a842c5dd97df6e0c1c3b3fc6986a5d3e000564b3b9b4f8a9c72bc01b360baf93a82f8a70a85b8ee1833f4e767a48021d3869391000551ed00e614 SHA512 78c9501e6f9f8b0727d2f2207814048f8c784b2b06797559d6f639244cb1439e9218a46c582a6b337b15791519f0bcb9e0f42c17bff00c096c797c96cc7660ae
+DIST hipSPARSE-4.3.tar.gz 349357 BLAKE2B e0da23ba8f39af276842eb9bc45232a0dbe7f40197215397bf2d6ae454061626aedb698701703a03a60487dff2b427d54fa3e0fd36db69fcccf9868d0e5a5097 SHA512 b7302ae4205d5c0e8fd8017e345f7677e55a6ea82741a85f77b2af3f669d63013e12435201f9e0ca4b31d3c4af2cb1630775bf101a69338be2df621d68504d60
+DIST rocSPARSE_ASIC_320k.tar.gz 11301444 BLAKE2B a00cc4a3ededab3fb56339319e34e936645ddce2dee3c630153b37e337384c207b0a2829227fb7f4c2db1fe33383e97410ab7ad459d391c025f5410843d51cf2 SHA512 1db3af391c30a371c1ac0087436e266721474273a39d5b2b6d56408d950dcbbee004750e4dce4e3dbc4cb512f38f6d945676d7f29b62c52fd5a7fed0fe789e03
+DIST rocSPARSE_Chebyshev4.tar.gz 50165660 BLAKE2B f1a95554c8f38937f501488fabfd406b773eb980d7463cadac0de162529ac2f834c655cadd2b65f4c42a8487bc2d67c749601ae33bd789051f9e4d1e157196a0 SHA512 fdec4947a4af923d28b4be8d23690fd6d356c58f8344a5dcdd2e3fa61769d83e47a84d65316b527e6e82d9f988de2675a852367d406e44b44d784137a90b95c0
+DIST rocSPARSE_amazon0312.tar.gz 11303646 BLAKE2B 388947a29380253bb5eecb22d3a3b6f3378711044b3fe98d6d2517cd27330f11b3d12fdb96320a2889e139224f1a6a5ad1c455ff8e91a262aa2aadbe16301330 SHA512 aed2d62581763742d9c7faf3dcaf1eaa983caa1e2e7ad4abebe97c5e7c2aec9942e0e32291092b348b60052c92b130e721ec19ed59bda22e1b233ef72ac7d2ff
+DIST rocSPARSE_bibd_22_8.tar.gz 20548479 BLAKE2B b6d0f7b7eb9c3b4ccade55313ca29f5706dde264c03d5d342f16ff27d7cf38ff2648dabea0342683257a6bb16cae85259c7e102a56c70d1e81c8a334c36f3d91 SHA512 3df85485f679c82e7554e8f6dff9d498bc9135bfc70aa81e85d83dbef457f31831dfc23b8d83425289329efc45fdcd41eef1e79f5205500479992892bbcf11fe
+DIST rocSPARSE_bmwcra_1.tar.gz 67958791 BLAKE2B 8be4e73cf837fd717e77042c416dee81995cd39bae39bdc1b7f6e6b309ee263130774f030ce7883ae89234227fec115d0178cfe1b2589af79fde6e2a3270b01c SHA512 049722d3524fb7397c4f00ce9a034e75612b839353bbbd7b963900ec19eeb5a4ec54a780882b4929fc4dd6932efb2f676432d444c3d256f9b57d5f392e5241ca
+DIST rocSPARSE_mac_econ_fwd500.tar.gz 12051668 BLAKE2B cd59723ea4fa8b0b4024c3534b3c3b42541754353319eca88628ca8216fb619dce3b1e774d6b823155c8afc9b5a65b3ea113edb36f6141c72e1189e97bfcbd37 SHA512 f279d2d71c92456bb0a5168bf3d8bc77eb991f4cbef6eea2c98d038be9ab2f2b576480e081099f766fe888480e91026a619a8de9d04758c26ee316ac4a09fdb5
+DIST rocSPARSE_mc2depi.tar.gz 10874561 BLAKE2B 89fd12479a76a9ec2f488aeadcf58688a2bf9dbc0e1065a7002b0a458bfa48704711ab69d1be6a25396c3c3e48ee4f6b6866984c1ff76074619898eeebb951bc SHA512 82e5bd935d5d6fb83801b5a7848bf7dc636459ba7b14b327a135c5e88528bdc47e4822927aa44c8e21316b538e5f6563024152253c5deb606dbaec77ff986594
+DIST rocSPARSE_nos1.tar.gz 3025 BLAKE2B cb0630782e996fd8717f845dfecc979abf9d59e5573c00226990a9575a9ec4b14d25197c3a0602baa5bf3e9073e14484374f28ce43108e3df680c1f62995cc77 SHA512 6eb5b65ba2230bb2468d93526990772ce7508faffe0fa5b0c5767859cd0fb0acbdc2d94dab3e5097a4a47dc4d7b0313891037d8a29720eb803cfaf26ae529495
+DIST rocSPARSE_nos2.tar.gz 10313 BLAKE2B 15e83686358285746b4d51e4d69d27bf058ea29aa448745fde76e3cb9ed6f1f8612f94739d980ff830e3610da7a9afe8ee9f6eb86e28e41bf8df74032a23ad63 SHA512 2e50b3bf99e2bedb1eabf58d0293bf9484713204340b2f68ae919d9e842a8c6e4ca917b7d61d4e171ae9e4002ced034913d83c5de6e75f16dae9079467cc424a
+DIST rocSPARSE_nos3.tar.gz 34282 BLAKE2B 741257a8c0945cfacce808ad56ee5c306a6d7ea96c8c36183bd3b5b24ddef586d78bbfb5dfdb251ab8e6905842b63ebfa9c481c272d598ff195558248a566e01 SHA512 cb260dec5947765004f497249c0b46d15271e2dd69e99bc2925352d52ac75d27bb9635b1d4bb445b1d79de03aa6803a219a5c80a242fcf7ff74c7e80c0f8f59c
+DIST rocSPARSE_nos4.tar.gz 1760 BLAKE2B 24b9dadfd42a6c5f1988c98ef01319d8ae20f447293ce334723f9290f76b878311df4e0ae0fe7788081f27303359392b8694e06b7dc0a64a69fac00a3168d59a SHA512 2f0c40c971d5eea986efc389fc6770f5e8099c8924c7221b1c46ab0be44641d499f20d536b313999d2b31b356568255c98cbba3b0804a00de18a95a052431e0b
+DIST rocSPARSE_nos5.tar.gz 13125 BLAKE2B 3b5e7166dfae258e9b6667eaa7b172d862eb3fc755751f6f9e63e76b16b5a0b14bf2f58a59ed5513fc641eb7df7f478e1cacc45940a6a49ec87eb1007c3209c3 SHA512 6151b9de84498495f3e03d11ff26d7013b5109068474abbee6018b3fe90a5e518823a06a9cc8c62013cd61925061b45d3f5aabaa01da61286665039d8cb06655
+DIST rocSPARSE_nos6.tar.gz 7644 BLAKE2B 1690af9969bcd2eee760571874a04e36ef4dd76a8349a307c0cc4d02cbc59ed12df0646509528e3b136836230d887a8eb4e1095b7423737a3831e5680ea07e9e SHA512 22dbbb825648948fd3d2eb7a2ca8c45d6746b5b386406b1dacbeb575f1ebeeb14ff49f62e5fbdc8a784def398c319f810537991180740f6efffe4e94fdb15aef
+DIST rocSPARSE_nos7.tar.gz 9639 BLAKE2B 5d63cfbe45f2f968a62cd8bcf0c25b831f485cd9dd0d95bdb248ab7b62ab67476c60ed8a4ad811f7db158a893e08a753beb3b1e7ed6f727219b985d932570eb0 SHA512 39109bbe3d0d791a0a2eeb272f2359bad34332191c53db7487a01770ac4c7ea1af2cc5e05a0ff5744f413113b7fcbe493a36cfc880436af274fe7dc6c39d6e11
+DIST rocSPARSE_rma10.tar.gz 19466055 BLAKE2B bb8ac5fe06bb6d7814864b3d43f9ddd1d2daafe55c31bdd9153cf6744d3d113fff878c4396a26d1a021bf9612c08798964c3bd9de8ea9829b202b912fb31db2e SHA512 c8ce8fc8fa7192ba2ac240439c90701080a590945dfb92bb80886f513205a0360ff8e5fd19819ad97d1eb58c3d83b57e5482e5361199cc9626e2afee8d84f4ac
+DIST rocSPARSE_scircuit.tar.gz 8635362 BLAKE2B 3f1d6e35a6a774664bd653dd466fa3c07818bfdee4a2633bfcacd5936569194863753fe7ebd0e1497ecdabbc716617ca6012801242e8d733f5d5d189e8d3feb2 SHA512 4949c869c17a66f19660cbe21b61615fb468d5afb1a773f9d6fe09cbc45b4c6245b647148dbab102b45599c53acaf4ed96ab815e17e538068c927a4d25b9bd2a
+DIST rocSPARSE_shipsec1.tar.gz 22175245 BLAKE2B f1d34482b8c3d3ee48033097d7d6f9b648e3c396a5ab2379efdc7de218adec519a235e2e94904f85a4f24c8d4ff15af096ca089379e00db47519023f64b85c16 SHA512 e027097e74f8ffc058339855b1c38cab52c68b661058318b429487e7188e11e907f6734894f9c71d1e38d262986525fba8d0f165bc0a1b4632d7e25be8db4f17
+DIST rocSPARSE_sme3Dc.tar.gz 42483568 BLAKE2B f0d16b58f6ea28e67727637697a812a0b10d524c73aeb82f702411b9ebaea3670780e762ed0701aae80c6829e950233f74555523ef2d6c5740b007c7a65c03d4 SHA512 c5a0be2db919a45310a73ea1dd96d0d30168135f887a8c5c3d7ca11e2c3d12ea7d1331be20968d0135bd18da4ef2b043db68eeb7567b6f0f8daf782b87083c3a
+DIST rocSPARSE_webbase-1M.tar.gz 11360460 BLAKE2B 01b1d06adb5fb32fa402ed888d25a7e52a34779b078fc2e21c60e688d03579bb4ca8694f5ee4a824f7859952d55590a1fd9449dc80d6fe894d7b662b918882d4 SHA512 6401a965b8f6dd5392879956fde3c94f77fe1801a4a43428c03b6d639031575c647eab47b1babe53f4ecc2c3b8fc183e8339536b78dcd0d94ce62bfedd87c161

diff --git a/sci-libs/hipSPARSE/files/hipSPARSE-4.3.0-remove-matrices-unpacking.patch b/sci-libs/hipSPARSE/files/hipSPARSE-4.3.0-remove-matrices-unpacking.patch
new file mode 100644
index 00000000000..353e98f1d31
--- /dev/null
+++ b/sci-libs/hipSPARSE/files/hipSPARSE-4.3.0-remove-matrices-unpacking.patch
@@ -0,0 +1,117 @@
+diff --color -uprN orig/clients/tests/CMakeLists.txt hipSPARSE-rocm-4.3.0/clients/tests/CMakeLists.txt
+--- orig/clients/tests/CMakeLists.txt	2021-08-26 14:08:41.083256475 +0800
++++ hipSPARSE-rocm-4.3.0/clients/tests/CMakeLists.txt	2021-08-26 14:10:26.491257174 +0800
+@@ -23,113 +23,6 @@
+ 
+ find_package(GTest REQUIRED)
+ 
+-# Download some test matrices
+-set(TEST_MATRICES
+-  SNAP/amazon0312
+-  Muite/Chebyshev4
+-  FEMLAB/sme3Dc
+-  Williams/webbase-1M
+-  Bova/rma10
+-  JGD_BIBD/bibd_22_8
+-  Williams/mac_econ_fwd500
+-  Williams/mc2depi
+-  Hamm/scircuit
+-  Sandia/ASIC_320k
+-  GHS_psdef/bmwcra_1
+-  HB/nos1
+-  HB/nos2
+-  HB/nos3
+-  HB/nos4
+-  HB/nos5
+-  HB/nos6
+-  HB/nos7
+-  DNVS/shipsec1
+-)
+-
+-set(TEST_MD5HASH
+-  f567e5f5029d052e3004bc69bb3f13f5
+-  e39879103dafab21f4cf942e0fe42a85
+-  a95eee14d980a9cfbbaf5df4a3c64713
+-  2d4c239daad6f12d66a1e6a2af44cbdb
+-  a899a0c48b9a58d081c52ffd88a84955
+-  455d5b699ea10232bbab5bc002219ae6
+-  f1b0e56fbb75d1d6862874e3d7d33060
+-  8c8633eada6455c1784269b213c85ea6
+-  3e62f7ea83914f7e20019aefb2a5176f
+-  fcfaf8a25c8f49b8d29f138f3c65c08f
+-  8a3cf5448a4fe73dcbdb5a16b326715f
+-  b203f7605cb1f20f83280061068f7ec7
+-  b0f812ffcc9469f0bf9be701205522c4
+-  f185514062a0eeabe86d2909275fe1dc
+-  04b781415202db404733ca0c159acbef
+-  c98e35f1cfd1ee8177f37bdae155a6e7
+-  c39375226aa5c495293003a5f637598f
+-  9a6481268847e6cf0d70671f2ff1ddcd
+-  73372e7d6a0848f8b19d64a924fab73e
+-)
+-
+-if(NOT TARGET hipsparse)
+-  set(CONVERT ${CMAKE_SOURCE_DIR}/../deps/convert)
+-else()
+-  set(CONVERT ${CMAKE_SOURCE_DIR}/deps/convert)
+-endif()
+-
+-list(LENGTH TEST_MATRICES len)
+-math(EXPR len1 "${len} - 1")
+-
+-foreach(i RANGE 0 ${len1})
+-  list(GET TEST_MATRICES ${i} m)
+-  list(GET TEST_MD5HASH ${i} md5)
+-
+-  string(REPLACE "/" ";" sep_m ${m})
+-  list(GET sep_m 0 dir)
+-  list(GET sep_m 1 mat)
+-
+-  # Download test matrices if not already downloaded
+-  set(CMAKE_MATRICES_DIR ${PROJECT_BINARY_DIR}/matrices)
+-  if(NOT EXISTS "${CMAKE_MATRICES_DIR}/${mat}.bin")
+-    message("-- Downloading and extracting test matrix ${m}.tar.gz")
+-    file(DOWNLOAD https://sparse.tamu.edu/MM/${m}.tar.gz ${CMAKE_MATRICES_DIR}/${mat}.tar.gz
+-        INACTIVITY_TIMEOUT 3
+-        STATUS DL)
+-
+-    list(GET DL 0 stat)
+-    list(GET DL 1 msg)
+-
+-    if(NOT stat EQUAL 0)
+-      message("-- Timeout has been reached, trying mirror ...")
+-      # Try again using ufl links
+-      file(DOWNLOAD https://www.cise.ufl.edu/research/sparse/MM/${m}.tar.gz ${CMAKE_MATRICES_DIR}/${mat}.tar.gz
+-          INACTIVITY_TIMEOUT 3
+-          STATUS DL)
+-
+-      list(GET DL 0 stat)
+-      list(GET DL 1 msg)
+-
+-      if(NOT stat EQUAL 0)
+-        message(FATAL_ERROR "${msg}")
+-      endif()
+-    endif()
+-
+-    # Check MD5 hash before continuing
+-    file(MD5 ${CMAKE_MATRICES_DIR}/${mat}.tar.gz hash)
+-
+-    # Compare hash
+-    if(NOT hash STREQUAL md5)
+-      message(FATAL_ERROR "${mat}.tar.gz is corrupted")
+-    endif()
+-
+-    execute_process(COMMAND tar xf ${mat}.tar.gz
+-                    WORKING_DIRECTORY ${CMAKE_MATRICES_DIR})
+-    execute_process(COMMAND mv ${mat}/${mat}.mtx .
+-                    WORKING_DIRECTORY ${CMAKE_MATRICES_DIR})
+-    execute_process(COMMAND ${CONVERT} ${mat}.mtx ${mat}.bin
+-                    WORKING_DIRECTORY ${CMAKE_MATRICES_DIR})
+-    execute_process(COMMAND rm ${mat}.tar.gz ${mat} ${mat}.mtx -rf
+-                    WORKING_DIRECTORY ${CMAKE_MATRICES_DIR})
+-  endif()
+-endforeach()
+-
+ set(HIPSPARSE_TEST_SOURCES
+   hipsparse_gtest_main.cpp
+   test_axpyi.cpp

diff --git a/sci-libs/hipSPARSE/hipSPARSE-4.3.0.ebuild b/sci-libs/hipSPARSE/hipSPARSE-4.3.0.ebuild
new file mode 100644
index 00000000000..99acf36c859
--- /dev/null
+++ b/sci-libs/hipSPARSE/hipSPARSE-4.3.0.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="ROCm SPARSE marshalling library"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipSPARSE"
+# share some test datasets with rocSPARSE
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-${PV}.tar.gz -> hipSPARSE-$(ver_cut 1-2).tar.gz
+test? (
+https://sparse.tamu.edu/MM/SNAP/amazon0312.tar.gz -> rocSPARSE_amazon0312.tar.gz
+https://sparse.tamu.edu/MM/Muite/Chebyshev4.tar.gz -> rocSPARSE_Chebyshev4.tar.gz
+https://sparse.tamu.edu/MM/FEMLAB/sme3Dc.tar.gz -> rocSPARSE_sme3Dc.tar.gz
+https://sparse.tamu.edu/MM/Williams/webbase-1M.tar.gz -> rocSPARSE_webbase-1M.tar.gz
+https://sparse.tamu.edu/MM/Bova/rma10.tar.gz -> rocSPARSE_rma10.tar.gz
+https://sparse.tamu.edu/MM/JGD_BIBD/bibd_22_8.tar.gz -> rocSPARSE_bibd_22_8.tar.gz
+https://sparse.tamu.edu/MM/Williams/mac_econ_fwd500.tar.gz -> rocSPARSE_mac_econ_fwd500.tar.gz
+https://sparse.tamu.edu/MM/Williams/mc2depi.tar.gz -> rocSPARSE_mc2depi.tar.gz
+https://sparse.tamu.edu/MM/Hamm/scircuit.tar.gz -> rocSPARSE_scircuit.tar.gz
+https://sparse.tamu.edu/MM/Sandia/ASIC_320k.tar.gz -> rocSPARSE_ASIC_320k.tar.gz
+https://sparse.tamu.edu/MM/GHS_psdef/bmwcra_1.tar.gz -> rocSPARSE_bmwcra_1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos1.tar.gz -> rocSPARSE_nos1.tar.gz
+https://sparse.tamu.edu/MM/HB/nos2.tar.gz -> rocSPARSE_nos2.tar.gz
+https://sparse.tamu.edu/MM/HB/nos3.tar.gz -> rocSPARSE_nos3.tar.gz
+https://sparse.tamu.edu/MM/HB/nos4.tar.gz -> rocSPARSE_nos4.tar.gz
+https://sparse.tamu.edu/MM/HB/nos5.tar.gz -> rocSPARSE_nos5.tar.gz
+https://sparse.tamu.edu/MM/HB/nos6.tar.gz -> rocSPARSE_nos6.tar.gz
+https://sparse.tamu.edu/MM/HB/nos7.tar.gz -> rocSPARSE_nos7.tar.gz
+https://sparse.tamu.edu/MM/DNVS/shipsec1.tar.gz -> rocSPARSE_shipsec1.tar.gz
+)"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0"/$(ver_cut 1-2)
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-util/rocminfo:${SLOT}
+		dev-util/hip:${SLOT}
+		sci-libs/rocSPARSE:${SLOT}"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-util/rocm-cmake:${SLOT}
+	test? ( dev-cpp/gtest )"
+
+S="${WORKDIR}/hipSPARSE-rocm-${PV}"
+
+PATCHES=( "${FILESDIR}/${PN}-4.3.0-remove-matrices-unpacking.patch" )
+
+src_prepare() {
+	sed -e "s/PREFIX hipsparse//" \
+		-e "/<INSTALL_INTERFACE/s,include,include/hipsparse," \
+		-e "s:rocm_install_symlink_subdir(hipsparse):#rocm_install_symlink_subdir(hipsparse):" \
+		-i library/CMakeLists.txt || die
+
+	# remove GIT dependency
+	sed -e "/find_package(Git/d" -i cmake/Dependencies.cmake || die
+
+	if use test; then
+		mkdir -p "${BUILD_DIR}"/clients/matrices
+		# compile and use the mtx2bin converter. Do not use any optimization flags!
+		ebegin "$(tc-getCXX) deps/convert.cpp -o deps/convert"
+		$(tc-getCXX) deps/convert.cpp -o deps/convert
+		eend $?
+		find "${WORKDIR}" -maxdepth 2 -regextype egrep -regex ".*/(.*)/\1\.mtx" -print0 |
+			while IFS= read -r -d '' mtxfile; do
+				destination=${BUILD_DIR}/clients/matrices/$(basename -s '.mtx' ${mtxfile}).bin
+				ebegin "Converting ${mtxfile} to ${destination}"
+				deps/convert ${mtxfile} ${destination}
+				eend
+			done
+	fi
+	eapply_user
+	cmake_src_prepare
+}
+
+src_configure() {
+	# Grant access to the device
+	addwrite /dev/kfd
+	addpredict /dev/dri/
+
+	# Compiler to use
+	export CXX=hipcc
+
+	local mycmakeargs=(
+		-DHIP_RUNTIME="ROCclr"
+		-DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+		-DBUILD_CLIENTS_SAMPLES=OFF
+		-DCMAKE_SKIP_RPATH="ON"
+		-DCMAKE_INSTALL_INCLUDEDIR=include/hipsparse
+		${AMDGPU_TARGETS+-DAMDGPU_TARGETS="${AMDGPU_TARGETS}"}
+		-D__skip_rocmclang="ON" ## fix cmake-3.21 configuration issue caused by officialy support programming language "HIP"
+	)
+
+	cmake_src_configure
+}
+
+src_test() {
+	addwrite /dev/kfd
+	addwrite /dev/dri/
+	cd "${BUILD_DIR}/clients/staging" || die
+	./hipsparse-test || die
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-libs/hipSPARSE/files/, sci-libs/hipSPARSE/
@ 2025-01-05 21:49 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2025-01-05 21:49 UTC (permalink / raw
  To: gentoo-commits

commit:     aec0088206378db7ae38b3c365419d944d1a3118
Author:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Sun Dec  8 15:17:04 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jan  5 21:46:32 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aec00882

sci-libs/hipSPARSE: add 6.3.0

Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sci-libs/hipSPARSE/Manifest                        |   1 +
 .../files/hipSPARSE-6.3.0-fix-filesystem.patch     |  40 ++++++++
 .../hipSPARSE-6.3.0-no-gtest-in-benchmark.patch    |  22 +++++
 sci-libs/hipSPARSE/hipSPARSE-6.1.1.ebuild          |   6 +-
 sci-libs/hipSPARSE/hipSPARSE-6.3.0.ebuild          | 102 +++++++++++++++++++++
 sci-libs/hipSPARSE/metadata.xml                    |   5 +-
 6 files changed, 174 insertions(+), 2 deletions(-)

diff --git a/sci-libs/hipSPARSE/Manifest b/sci-libs/hipSPARSE/Manifest
index c38dc6c9f99c..f41749291572 100644
--- a/sci-libs/hipSPARSE/Manifest
+++ b/sci-libs/hipSPARSE/Manifest
@@ -1,6 +1,7 @@
 DIST hipSPARSE-5.1.tar.gz 449838 BLAKE2B 7727ecb9fa397e2730cfda4c9367188c37ad201d501b50129994869c6ef15b51cdf2d1f481f19f2f37cf0530f1ec3689c40a9651924f70fabe945d80732df64a SHA512 8b01c01a10b8419d14a532ebccfa5b5b5b5c3f6a6e73f3f0ecee58c7e240d2754485a9da020fe4693df3ef9fc08e5bb09b05396472ccbeebf89bc2635d94eb64
 DIST hipSPARSE-5.7.tar.gz 458521 BLAKE2B 94695ef3cf4294f571723e31ab5d4295b5aaa24528e90838375ee8477cf0957b297663d80e5fe3406762b475b6ef4741f9ccfb4dfb1448ce71ea4014da14b46e SHA512 bb28cd81b7ec298eb2e6462a8588ed93eee7b4892923b11087a91d1c32341f29f488fd4e6797debe51a989f463db31030eae02d07be6512d6b755367ba221aac
 DIST hipSPARSE-6.1.tar.gz 471148 BLAKE2B 18119ac355e180adb5ce38561f44e39119226d209a970ae8cac6b85575bad1ab2a690a3bb72de1c179c1190aa2c29d691e6ce02855f3df89a58f634d42e54103 SHA512 09f9e94c5f976e6f17c07f9be2fde31c2e740871215a6b77b49675644b883bd9994fcaacb19864ace3883bb5aea7a7dc589ddbaf9b6aaf3d9f411c7e452a0b78
+DIST hipSPARSE-6.3.tar.gz 537764 BLAKE2B 2989c81ac1f024246fdcf8081fa6969f1efd81d680f39b45edac290b4db7d453154d5d432e0ad3d0bc1e08948e03886a89ff4ec051b30cb7eca6bfe4f433d4a7 SHA512 c011b7d7a2121a20ceb2eee8d7217717ff06196f085f0996b0952b5afdbf2350e7288c4cfd2cfe9214b84c2add203788a1860d9a89bb426df2bc376b348a7f55
 DIST rocSPARSE_ASIC_320k.tar.gz 11301444 BLAKE2B a00cc4a3ededab3fb56339319e34e936645ddce2dee3c630153b37e337384c207b0a2829227fb7f4c2db1fe33383e97410ab7ad459d391c025f5410843d51cf2 SHA512 1db3af391c30a371c1ac0087436e266721474273a39d5b2b6d56408d950dcbbee004750e4dce4e3dbc4cb512f38f6d945676d7f29b62c52fd5a7fed0fe789e03
 DIST rocSPARSE_Chebyshev4.tar.gz 50165660 BLAKE2B f1a95554c8f38937f501488fabfd406b773eb980d7463cadac0de162529ac2f834c655cadd2b65f4c42a8487bc2d67c749601ae33bd789051f9e4d1e157196a0 SHA512 fdec4947a4af923d28b4be8d23690fd6d356c58f8344a5dcdd2e3fa61769d83e47a84d65316b527e6e82d9f988de2675a852367d406e44b44d784137a90b95c0
 DIST rocSPARSE_amazon0312.tar.gz 11303646 BLAKE2B 388947a29380253bb5eecb22d3a3b6f3378711044b3fe98d6d2517cd27330f11b3d12fdb96320a2889e139224f1a6a5ad1c455ff8e91a262aa2aadbe16301330 SHA512 aed2d62581763742d9c7faf3dcaf1eaa983caa1e2e7ad4abebe97c5e7c2aec9942e0e32291092b348b60052c92b130e721ec19ed59bda22e1b233ef72ac7d2ff

diff --git a/sci-libs/hipSPARSE/files/hipSPARSE-6.3.0-fix-filesystem.patch b/sci-libs/hipSPARSE/files/hipSPARSE-6.3.0-fix-filesystem.patch
new file mode 100644
index 000000000000..c688f0c81c53
--- /dev/null
+++ b/sci-libs/hipSPARSE/files/hipSPARSE-6.3.0-fix-filesystem.patch
@@ -0,0 +1,40 @@
+Incorrect usage of C++ filesystem for libc++ and libstdc++
+https://github.com/ROCm/hipSPARSE/issues/555
+--- a/clients/common/utility.cpp
++++ b/clients/common/utility.cpp
+@@ -34,16 +34,22 @@
+ #define strSUITEcmp(A, B) _stricmp(A, B)
+ #endif
+ 
++#ifdef __has_include
++#if __has_include(<version>)
++#include <version>
++#endif
++#endif
++
+ #ifdef __cpp_lib_filesystem
+ #include <filesystem>
++
++namespace fs = std::filesystem;
+ #else
+ #include <experimental/filesystem>
+ 
+-namespace std
+-{
+-    namespace filesystem = experimental::filesystem;
+-}
++namespace fs = std::experimental::filesystem;
+ #endif
++
+ #if 0
+ #ifdef WIN32
+ #include <windows.h>
+@@ -91,7 +97,7 @@ std::string hipsparse_exepath()
+         result.resize(result.size() * 2);
+     }
+ 
+-    std::filesystem::path exepath(result.begin(), result.end());
++    fs::path exepath(result.begin(), result.end());
+     exepath = exepath.remove_filename();
+     exepath += exepath.empty() ? "" : "/";
+     return exepath.string();

diff --git a/sci-libs/hipSPARSE/files/hipSPARSE-6.3.0-no-gtest-in-benchmark.patch b/sci-libs/hipSPARSE/files/hipSPARSE-6.3.0-no-gtest-in-benchmark.patch
new file mode 100644
index 000000000000..4555b1000d38
--- /dev/null
+++ b/sci-libs/hipSPARSE/files/hipSPARSE-6.3.0-no-gtest-in-benchmark.patch
@@ -0,0 +1,22 @@
+GTest is linked/required for hipsparse-bench, but not used
+https://github.com/ROCm/hipSPARSE/issues/557
+--- a/clients/benchmarks/CMakeLists.txt
++++ b/clients/benchmarks/CMakeLists.txt
+@@ -21,8 +21,6 @@
+ #
+ # ########################################################################
+ 
+-find_package(GTest REQUIRED)
+-
+ set(HIPSPARSE_BENCHMARK_SOURCES
+   client.cpp
+   hipsparse_arguments_config.cpp
+@@ -48,7 +46,7 @@ target_compile_options(hipsparse-bench PRIVATE -Wno-deprecated -Wno-unused-comma
+ target_include_directories(hipsparse-bench PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>)
+ 
+ # Target link libraries
+-target_link_libraries(hipsparse-bench PRIVATE GTest::GTest roc::hipsparse)
++target_link_libraries(hipsparse-bench PRIVATE roc::hipsparse)
+ 
+ # Add OpenMP if available
+ if(OPENMP_FOUND AND THREADS_FOUND)

diff --git a/sci-libs/hipSPARSE/hipSPARSE-6.1.1.ebuild b/sci-libs/hipSPARSE/hipSPARSE-6.1.1.ebuild
index 2176f205682a..66e72a372ec5 100644
--- a/sci-libs/hipSPARSE/hipSPARSE-6.1.1.ebuild
+++ b/sci-libs/hipSPARSE/hipSPARSE-6.1.1.ebuild
@@ -43,7 +43,7 @@ REQUIRED_USE="${ROCM_REQUIRED_USE}"
 RESTRICT="!test? ( test )"
 
 RDEPEND="dev-util/rocminfo
-		dev-util/hip
+		dev-util/hip:${SLOT}
 		sci-libs/rocSPARSE:${SLOT}[${ROCM_USEDEP}]"
 DEPEND="${RDEPEND}"
 BDEPEND="dev-build/rocm-cmake
@@ -68,6 +68,10 @@ src_prepare() {
 }
 
 src_configure() {
+	# Note: hipcc is enforced; clang fails when libc++ is enabled
+	# with an error similar to https://github.com/boostorg/config/issues/392
+	rocm_use_hipcc
+
 	local mycmakeargs=(
 		-DHIP_RUNTIME="ROCclr"
 		-DBUILD_CLIENTS_TESTS=$(usex test ON OFF)

diff --git a/sci-libs/hipSPARSE/hipSPARSE-6.3.0.ebuild b/sci-libs/hipSPARSE/hipSPARSE-6.3.0.ebuild
new file mode 100644
index 000000000000..62a5615be846
--- /dev/null
+++ b/sci-libs/hipSPARSE/hipSPARSE-6.3.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm toolchain-funcs
+
+DESCRIPTION="ROCm SPARSE marshalling library"
+HOMEPAGE="https://github.com/ROCm/hipSPARSE"
+# share some test datasets with rocSPARSE
+SRC_URI="https://github.com/ROCm/hipSPARSE/archive/rocm-${PV}.tar.gz -> hipSPARSE-$(ver_cut 1-2).tar.gz
+test? (
+http://sparse-files.engr.tamu.edu/MM/SNAP/amazon0312.tar.gz -> rocSPARSE_amazon0312.tar.gz
+http://sparse-files.engr.tamu.edu/MM/Muite/Chebyshev4.tar.gz -> rocSPARSE_Chebyshev4.tar.gz
+http://sparse-files.engr.tamu.edu/MM/FEMLAB/sme3Dc.tar.gz -> rocSPARSE_sme3Dc.tar.gz
+http://sparse-files.engr.tamu.edu/MM/Williams/webbase-1M.tar.gz -> rocSPARSE_webbase-1M.tar.gz
+http://sparse-files.engr.tamu.edu/MM/Bova/rma10.tar.gz -> rocSPARSE_rma10.tar.gz
+http://sparse-files.engr.tamu.edu/MM/JGD_BIBD/bibd_22_8.tar.gz -> rocSPARSE_bibd_22_8.tar.gz
+http://sparse-files.engr.tamu.edu/MM/Williams/mac_econ_fwd500.tar.gz -> rocSPARSE_mac_econ_fwd500.tar.gz
+http://sparse-files.engr.tamu.edu/MM/Williams/mc2depi.tar.gz -> rocSPARSE_mc2depi.tar.gz
+http://sparse-files.engr.tamu.edu/MM/Hamm/scircuit.tar.gz -> rocSPARSE_scircuit.tar.gz
+http://sparse-files.engr.tamu.edu/MM/Sandia/ASIC_320k.tar.gz -> rocSPARSE_ASIC_320k.tar.gz
+http://sparse-files.engr.tamu.edu/MM/GHS_psdef/bmwcra_1.tar.gz -> rocSPARSE_bmwcra_1.tar.gz
+http://sparse-files.engr.tamu.edu/MM/HB/nos1.tar.gz -> rocSPARSE_nos1.tar.gz
+http://sparse-files.engr.tamu.edu/MM/HB/nos2.tar.gz -> rocSPARSE_nos2.tar.gz
+http://sparse-files.engr.tamu.edu/MM/HB/nos3.tar.gz -> rocSPARSE_nos3.tar.gz
+http://sparse-files.engr.tamu.edu/MM/HB/nos4.tar.gz -> rocSPARSE_nos4.tar.gz
+http://sparse-files.engr.tamu.edu/MM/HB/nos5.tar.gz -> rocSPARSE_nos5.tar.gz
+http://sparse-files.engr.tamu.edu/MM/HB/nos6.tar.gz -> rocSPARSE_nos6.tar.gz
+http://sparse-files.engr.tamu.edu/MM/HB/nos7.tar.gz -> rocSPARSE_nos7.tar.gz
+http://sparse-files.engr.tamu.edu/MM/DNVS/shipsec1.tar.gz -> rocSPARSE_shipsec1.tar.gz
+)"
+S="${WORKDIR}/hipSPARSE-rocm-${PV}"
+
+LICENSE="MIT"
+SLOT="0"/$(ver_cut 1-2)
+KEYWORDS="~amd64"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	dev-util/rocminfo:${SLOT}
+	dev-util/hip:${SLOT}
+	sci-libs/rocSPARSE:${SLOT}[${ROCM_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	dev-build/rocm-cmake
+	test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-6.3.0-fix-filesystem.patch"
+	"${FILESDIR}/${PN}-6.3.0-no-gtest-in-benchmark.patch"
+)
+
+src_prepare() {
+	# include <filesystem> issue - https://github.com/ROCm/hipSPARSE/issues/555
+	sed -e "s/CMAKE_CXX_STANDARD 14/CMAKE_CXX_STANDARD 17/" -i CMakeLists.txt clients/CMakeLists.txt || die
+
+	cmake_src_prepare
+
+	if use test; then
+		mkdir -p "${BUILD_DIR}"/clients/matrices
+		# compile and use the mtx2bin converter. Do not use any optimization flags!
+		edo $(tc-getCXX) deps/convert.cpp -o deps/convert
+		find "${WORKDIR}" -maxdepth 2 -regextype egrep -regex ".*/(.*)/\1\.mtx" -print0 |
+			while IFS= read -r -d '' mtxfile; do
+				destination=${BUILD_DIR}/clients/matrices/$(basename -s '.mtx' "${mtxfile}").bin
+				ebegin "Converting ${mtxfile} to ${destination}"
+				deps/convert "${mtxfile}" "${destination}"
+				eend $?
+			done
+	fi
+}
+
+src_configure() {
+	# Note: hipcc is enforced; clang fails when libc++ is enabled
+	# with an error similar to https://github.com/boostorg/config/issues/392
+	rocm_use_hipcc
+
+	local mycmakeargs=(
+		-DHIP_RUNTIME="ROCclr"
+		-DBUILD_CLIENTS_TESTS=$(usex test ON OFF)
+		-DBUILD_CLIENTS_SAMPLES=OFF
+		-DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF)
+		-DROCM_SYMLINK_LIBS=OFF
+		-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+	)
+
+	cmake_src_configure
+}
+
+src_test() {
+	check_amdgpu
+	cd "${BUILD_DIR}"/clients/staging || die
+	edob ./${PN,,}-test
+}

diff --git a/sci-libs/hipSPARSE/metadata.xml b/sci-libs/hipSPARSE/metadata.xml
index db85e1426e8f..57758b20d8ba 100644
--- a/sci-libs/hipSPARSE/metadata.xml
+++ b/sci-libs/hipSPARSE/metadata.xml
@@ -18,6 +18,9 @@
     <name>Sv. Lockal</name>
   </maintainer>
   <upstream>
-    <remote-id type="github">ROCmSoftwarePlatform/hipSPARSE</remote-id>
+    <remote-id type="github">ROCm/hipSPARSE</remote-id>
   </upstream>
+  <use>
+    <flag name="benchmark">Build and install hipsparse-bench.</flag>
+  </use>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-01-05 21:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-06 13:24 [gentoo-commits] repo/gentoo:master commit in: sci-libs/hipSPARSE/files/, sci-libs/hipSPARSE/ Benda XU
  -- strict thread matches above, loose matches on Subject: below --
2025-01-05 21:49 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox