diff options
Diffstat (limited to 'sci-libs')
95 files changed, 3051 insertions, 93 deletions
diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz Binary files differindex d02ae84cf31f..91c1ad81150d 100644 --- a/sci-libs/Manifest.gz +++ b/sci-libs/Manifest.gz diff --git a/sci-libs/composable-kernel/Manifest b/sci-libs/composable-kernel/Manifest index 52fbc7b635e5..0b7899cc6cb0 100644 --- a/sci-libs/composable-kernel/Manifest +++ b/sci-libs/composable-kernel/Manifest @@ -3,9 +3,14 @@ AUX composable-kernel-6.1.1-enable-examples.patch 379 BLAKE2B 38c3909c98686f97d5 AUX composable-kernel-6.1.1-fix-clang-17-no-offload-uniform-block.patch 918 BLAKE2B 04a17e4e9fd1a2c340a3d93a41f072ad24a836dcf5956644e3eeccb9269f7058a18135f324327aadf48f0e4369bcce8af900a72344515b46992c6deb68b15c71 SHA512 f8ac68ecc9d42673b1b66d3ddde80d042dab2e548a89ebeb50db153c3ec60308f1019a67d1a644d3320435936af0aef4e744b1c12a9f504dc32b18b808921767 AUX composable-kernel-6.1.1-fix-libcxx.patch 1383 BLAKE2B e1b77cb7926d843e71f8b3cc3642966ea1f5612cef527e08b7eddeca7dccbc7af2992d9bea9d61e84acd0dcb523fecbb5f8055a3f5916f6e5e56faa57c060a5b SHA512 fa2a5bb0f9347da46d509c47026f9af38933cb7d883c28f86c880b397341eb3f98fd67ecd46d4ddb857b16b3294933c18887abb99d221db558c5337bd224f841 AUX composable-kernel-6.1.1-no-git-no-hash.patch 688 BLAKE2B e3588a306816cf4380bf8987a6fc1660a70a6fc29b811d31381bae4aa2a00b55340d13f43246b70bbc439a462fcb8f664505bfaaac0e4cab793f2e4cb0611aed SHA512 94c59971b95b48e267280989d332240e236cea4cda8b6153945940f01c8f367a8da569403d802d733b7d46728861110b1d916b32be797e62c7a927a42b7b72b7 +AUX composable-kernel-6.3.0-conditional-ckprofiler.patch 483 BLAKE2B e82e3a25d9ea9d222dec60b04ac2047ee5f82a8d39586dd770d28df09efdbb004c94c5c74e7083543d17e1ae774a884d1c72055bfeff535a4688e5867265657f SHA512 b77875f6ebef73893a5161cbf1fcdac3cbed7964da562ae60c938fd442c3bab72ee266195a6b30cd6b7880a494e0c10f4d5814bf2d870824aad08f2fd157d71c +AUX composable-kernel-6.3.0-conditional-kernels.patch 837 BLAKE2B e803daf002c5711306df18c07ca2a9fea5e1b3cfe3bf589b8766e7b5eeefbd86f5773afda158161066e45c78f4a03684de27100143518df89a3eb25c2a255070 SHA512 ceb831cf69d90ce6c3638ab6d428aa1d0a4c737873a5227596a4a2f91973820773128438cc3dfe30cd2cb5fe730d57a16e28ac03ac1aa98171e3a6720021240e +AUX composable-kernel-6.3.0-no-inline-all.patch 831 BLAKE2B 44430951aff2aa3a74dc72d4092637fe777b4dd49b0fb588011e431a0426b9c19237d1b4ced996ece62b854f95be8c93891fc010af33a717f4c0350692263170 SHA512 9b0b3491f595572213246be8f78aa27ddb2b033d89b723effdd6a010658957e88be0c990f29eb4712f78aeebfc3e2a949712bbbda342c6440ea33465a2c9b3cf DIST composable-kernel-5.7.1.tar.gz 2158402 BLAKE2B 660c205c2a99cd17f29a9077e9e7b8b88e41f42ab40d92d0a235e7a60683a04234cce6b2eb6110265c2f461dd132c40151b2521b7d64df4cebb7f27094d8b2b0 SHA512 3931c5dbcab59513541103ebf7446311a1e318421a9e12aeafa7a98cf0717a75e1519140e6b2fbcaf4cb90829a11f03a724ff3ccc6636139c61667ac82558c55 DIST composable-kernel-6.1.1.tar.gz 2520967 BLAKE2B 549d76c5c36b0a273a4c51159abd162403ad035520f97c43dd4b66560ad30021199d2f4cf7e2c12ffe33beee2fb49604db6d7c40b3b33fdcbfde111b9d4833aa SHA512 3f7667cea91760447c3f6ac0bfc261c0bca95abafbfce209d1c889e04f01ec29849e8d7f0e1cb1d77a4309ac06b3c2557721a773e4a67be383de91668cb279b2 +DIST composable-kernel-6.3.0.tar.gz 3376552 BLAKE2B ad3dde27d0134fa8bf6b5935603f7cac17c959ab7b123e8d69cfe82bee188ade0fe9d3666d46d9819de479e875e46c0fdad2574f68a3bcf0e9acbb871f163b24 SHA512 4fa7be3f54d06d894dca7ef9fa8e3db24971fb857fee96e7ccff89844fa466789756d5f140d2791a984311d59a044b5351d0358e676c218ea0b0aadf60954d8e DIST gtest-1.14.0_p20220421.tar.gz 849107 BLAKE2B e9c32d9c1d98959583b696430a6be411f5d69e3db96669b16cffc0f1dcad42512391c0a4733f6e829c82953ff33fa243ee782f3cf6e86436f0d290f45d1a3db7 SHA512 967aac7d85da0e216fe13b17d10f894a31d763d9b88201bac7d3dfc37600552b5472d30a166a6ef27f2778677e73fd3e43d082695a48f47824262eb9cd4fcd2f EBUILD composable-kernel-5.7.1-r1.ebuild 1769 BLAKE2B 4e51c1eb8f331df322d9427b00d2cb8cba81f10b335533bc131142719d224d9bc89f98a0b54ec20d65f9622a081ab74d2a6bbae9289d1807958a9ded7f08fe4a SHA512 610bc66d4a374c6de7a0afb15a84255dae71911175c05674550478f5850b20f99a5bd0f5c40103c17e42ca774c80423d6a68b5bd0307be9c0ef3eaffa2912a58 -EBUILD composable-kernel-6.1.1.ebuild 1877 BLAKE2B 22e3ef40648776eee7c698a57a5c280dacc8b54ef8c55897e17f9c02e258e795844dd3b61e396ae8fd528b9270fc799da6475cfb0d0e77d0fd9ab3dfa78c89a4 SHA512 bbd1a01db84259a430bae47d768091b081a7a0ca04f809649290cd568e5b7e12d77a2b06f9909b5fc2cc12446c06a60751d89a702e05ebf18301ca4c949ddd86 -MISC metadata.xml 457 BLAKE2B 3ea71ee5eb1ef715b76f1ff2132c8d487f9360d5ea4a062bcb785eda19a997bed1ffcb251a98046661d647c3eac24db5cf5eeb9b3a6792c450c277038ac8c9e3 SHA512 efc4309c8c4ac98a59cb9634d64410d8a0c8b136accc13aff2f943594a0b4fe8d333010fd5ad59b46fbd7c2d29a244839bb3687cfef6e2c880431ffd80ed873b +EBUILD composable-kernel-6.1.1.ebuild 1885 BLAKE2B 07a795ad81748763eac5aa3fcb074eba9e11f96a8b81b7810f7bbe07e9ca8175bf00733376792ce3ed2385683b5cab6fc42e8396cc7720b8779d5a049a51f456 SHA512 5dcb45957ac5a8c659ea2f8cb796cc46b2d3432d44c5ae70d02e8a2835d80838610eff04e9a42e81c533afdc86f611419837e327251e5c9adb6eb648661ce2fb +EBUILD composable-kernel-6.3.0.ebuild 2865 BLAKE2B 6bb823d2f1938f77c200adf8565298b9a9b20ecce5e0526cb188761b4f1187a9e42b209b9aa7bae54347109c79a17a0b4cfa921cb028ea2e88d009d02ddaa3d7 SHA512 375e3c356575f539e85f95a9c44cf3746c63c29b2d758503a19351f1b25bc9d5a0118e03c99cd54216f890b1e4efc7dae2ef6c18c3bf40ad52ed1beb2954c610 +MISC metadata.xml 565 BLAKE2B 9644f1c5275c8a60e37a7220d561b3461a9e76d27d6bf2c640e09a3fa38c902d1b1efc51fbc34eb987ba930b635b7969a73ae079f9de9df34d7f75c0226bcfc6 SHA512 f4b46d0faa827007925289f210e12977d8ce852d77da1e46cd1427132782dab78cd05c0137fa9632ace209ecfedf7b6eb99d53dacaba856c451491aab6b223d6 diff --git a/sci-libs/composable-kernel/composable-kernel-6.1.1.ebuild b/sci-libs/composable-kernel/composable-kernel-6.1.1.ebuild index 44abf5d59c81..59853bd41e85 100644 --- a/sci-libs/composable-kernel/composable-kernel-6.1.1.ebuild +++ b/sci-libs/composable-kernel/composable-kernel-6.1.1.ebuild @@ -25,7 +25,7 @@ REQUIRED_USE="${ROCM_REQUIRED_USE}" RESTRICT="!test? ( test )" RDEPEND=" - dev-util/hip + dev-util/hip:${SLOT} >=dev-db/sqlite-3.17 sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] >=dev-libs/boost-1.72 diff --git a/sci-libs/composable-kernel/composable-kernel-6.3.0.ebuild b/sci-libs/composable-kernel/composable-kernel-6.3.0.ebuild new file mode 100644 index 000000000000..bbd6854cb1e8 --- /dev/null +++ b/sci-libs/composable-kernel/composable-kernel-6.3.0.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# shellcheck disable=SC2317 +EAPI=8 + +ROCM_VERSION=${PV} +PYTHON_COMPAT=( python3_{10..13} python3_13t ) + +inherit cmake flag-o-matic python-r1 rocm + +GTEST_COMMIT="b85864c64758dec007208e56af933fc3f52044ee" +GTEST_FILE="gtest-1.14.0_p20220421.tar.gz" + +DESCRIPTION="High Performance Composable Kernel for AMD GPUs" +HOMEPAGE="https://github.com/ROCm/composable_kernel" +SRC_URI="https://github.com/ROCm/composable_kernel/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz + test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE} )" +S="${WORKDIR}/composable_kernel-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="debug profiler test" +REQUIRED_USE="${ROCM_REQUIRED_USE} ${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + ${PYTHON_DEPS} +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + dev-build/rocm-cmake +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-enable-examples.patch + "${FILESDIR}"/${PN}-6.1.1-no-git-no-hash.patch + "${FILESDIR}"/${PN}-6.3.0-no-inline-all.patch + "${FILESDIR}"/${PN}-6.3.0-conditional-kernels.patch + "${FILESDIR}"/${PN}-6.3.0-conditional-ckprofiler.patch +) + +pkg_pretend() { + targets=($AMDGPU_TARGETS) + if [[ ${#targets[@]} -gt 1 ]]; then + ewarn "composable-kernel will be compiled for multiple GPU architectures," + ewarn "which will take a significant amount of time." + ewarn "Please consider setting AMDGPU_TARGETS USE_EXPAND variable to a single architecture." + fi +} + +src_prepare() { + sed -e '/-Werror/d' -i cmake/EnableCompilerWarnings.cmake || die + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + if ! use debug; then + append-cflags "-DNDEBUG" + append-cxxflags "-DNDEBUG" + CMAKE_BUILD_TYPE="Release" + else + CMAKE_BUILD_TYPE="Debug" + fi + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_DEV=OFF + -DGPU_TARGETS="$(get_amdgpu_flags)" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DBUILD_TESTING=$(usex test ON OFF) + -DCK_USE_PROFILER=$(usex profiler ON OFF) + -Wno-dev + ) + + if use test; then + mycmakeargs+=( + -DFETCHCONTENT_SOURCE_DIR_GTEST="${WORKDIR}/googletest-${GTEST_COMMIT}" + ) + fi + + cmake_src_configure +} + +src_install() { + cmake_src_install + + installation() { + python_domodule python/ck4inductor + + # install package-data manually, as there is no PEP517 compliance + shopt -s globstar + package_data=( + include/ck/**/*.hpp + library/src/tensor_operation_instance/gpu/gemm_universal/**/*.hpp + ) + shopt -u globstar + + inst_path="${D}$(python_get_sitedir)/ck4inductor" + for file in "${package_data[@]}"; do + location="${inst_path}/$(dirname "$file")" + mkdir -p "${location}" + cp "${file}" "${location}" + done + } + python_foreach_impl installation +} + +src_test() { + check_amdgpu + LD_LIBRARY_PATH="${BUILD_DIR}"/lib cmake_src_test -j1 +} diff --git a/sci-libs/composable-kernel/files/composable-kernel-6.3.0-conditional-ckprofiler.patch b/sci-libs/composable-kernel/files/composable-kernel-6.3.0-conditional-ckprofiler.patch new file mode 100644 index 000000000000..5a0c81de9879 --- /dev/null +++ b/sci-libs/composable-kernel/files/composable-kernel-6.3.0-conditional-ckprofiler.patch @@ -0,0 +1,17 @@ +Add a flag to build without ckprofiler, which takes few GB of space and not used in many cases. +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -561,11 +561,13 @@ if(NOT GPU_ARCHS AND USER_GPU_TARGETS) + endif() + endif() + ++if(CK_USE_PROFILER) + rocm_package_setup_component(profiler + LIBRARY_NAME composablekernel + PACKAGE_NAME ckprofiler + ) + add_subdirectory(profiler) ++endif() + + if(CK_USE_CODEGEN AND (GPU_TARGETS MATCHES "gfx9" OR GPU_ARCHS)) + add_subdirectory(codegen) diff --git a/sci-libs/composable-kernel/files/composable-kernel-6.3.0-conditional-kernels.patch b/sci-libs/composable-kernel/files/composable-kernel-6.3.0-conditional-kernels.patch new file mode 100644 index 000000000000..64a8e0b96905 --- /dev/null +++ b/sci-libs/composable-kernel/files/composable-kernel-6.3.0-conditional-kernels.patch @@ -0,0 +1,16 @@ +Fix component discovery, when some targets are not installed. +Upstream bug: https://github.com/ROCm/composable_kernel/issues/1646 +--- a/Config.cmake.in ++++ b/Config.cmake.in +@@ -6,6 +6,10 @@ foreach(_comp ${composable_kernel_FIND_COMPONENTS}) + if(NOT _comp IN_LIST _composable_kernel_supported_components) + set(composable_kernel_FOUND False) + set(composable_kernel_NOT_FOUND_MESSAGE "Unsupported component: ${_comp}") ++ elseif(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/composable_kernel${_comp}Targets.cmake") ++ set(composable_kernel_FOUND False) ++ set(composable_kernel_NOT_FOUND_MESSAGE "Unsupported component for current targets: ${_comp}") ++ else() ++ include("${CMAKE_CURRENT_LIST_DIR}/composable_kernel${_comp}Targets.cmake") + endif() +- include("${CMAKE_CURRENT_LIST_DIR}/composable_kernel${_comp}Targets.cmake") + endforeach() diff --git a/sci-libs/composable-kernel/files/composable-kernel-6.3.0-no-inline-all.patch b/sci-libs/composable-kernel/files/composable-kernel-6.3.0-no-inline-all.patch new file mode 100644 index 000000000000..5ccf5239cb1e --- /dev/null +++ b/sci-libs/composable-kernel/files/composable-kernel-6.3.0-no-inline-all.patch @@ -0,0 +1,16 @@ +Flag -amdgpu-early-inline-all explodes memory consumption, so that build does not fit 64GB of RAM. +LLVM bug: https://github.com/llvm/llvm-project/issues/86332 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -213,11 +213,6 @@ if(NOT WIN32 AND check-coerce AND ${hip_VERSION_FLAT} GREATER 600241132 AND ${hi + message("Adding the amdgpu-coerce-illegal-types=1") + add_compile_options("SHELL: -mllvm -amdgpu-coerce-illegal-types=1") + endif() +-if(NOT WIN32 AND ${hip_VERSION_FLAT} GREATER 600241132) +- message("Adding -amdgpu-early-inline-all=true and -amdgpu-function-calls=false") +- add_compile_options("SHELL: -mllvm -amdgpu-early-inline-all=true") +- add_compile_options("SHELL: -mllvm -amdgpu-function-calls=false") +-endif() + # + # Seperate linking jobs from compiling + # Too many concurrent linking jobs can break the build diff --git a/sci-libs/composable-kernel/metadata.xml b/sci-libs/composable-kernel/metadata.xml index afd22272458c..304ae9aafa5e 100644 --- a/sci-libs/composable-kernel/metadata.xml +++ b/sci-libs/composable-kernel/metadata.xml @@ -9,6 +9,9 @@ <email>sci@gentoo.org</email> <name>Science Project</name> </maintainer> + <use> + <flag name="profiler">Build and install the Composable Kernal profiler (ckProfiler)</flag> + </use> <upstream> <remote-id type="github">ROCm/composable_kernel</remote-id> </upstream> diff --git a/sci-libs/flann/Manifest b/sci-libs/flann/Manifest index d343b6b7ccf9..607844580ad6 100644 --- a/sci-libs/flann/Manifest +++ b/sci-libs/flann/Manifest @@ -1,9 +1,17 @@ -AUX flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch 3337 BLAKE2B c7d149672edd6a9870b614986ce33cf203f9954f9070c49d96d717467602cea0f07f0990b7961dda00612bc9e7f017ea5c4ce6f58d8fa7a11a37a04f509ff64a SHA512 34718d5bc357db532cdb41cbb0443ae90d53231a2b87adadbd66aafb9c456c2eb7765489f8af0362b04b2b0efadb8fb65da2c9581ee2133ad8eb7065bb47f587 -AUX flann-1.9.1-cmake-3.11-1.patch 663 BLAKE2B 7162cb27a4ba6e13ac6f65752224e53be4988b3bb2ab5b8a9afbbed69a262a36c394d445fbb006afe7edbc5c9e90c339a88040eb7bee4c5c6c3209e1ba21b4ef SHA512 6d5032c30c0509951aaa5afc3f24a423d275224f67e14e0c4defbbda92ec659cef86fcfa65d72265d000f8010f0117ca2b8905f2c6f496aeef74a98dee9ffa08 -AUX flann-1.9.1-cmake-3.11.patch 2998 BLAKE2B 85c6b6feb800ab1a21af86a4001b0056fda416a6b61147f614670968cca13fa2b63d06673a11a2ef72b6f0d0876539ccb68134f4817975d4b796b66a716e606d SHA512 5cdffa2da3538965c0d20fb091a13124cdc301669b622ca35a131680db8abb58cf8e02f1366604a19a5cd10dd67f14861caa1c12da3154d82d576cb8052a4b87 -AUX flann-1.9.1-cuda-9.patch 850 BLAKE2B f193a6fd25a1d2cd45201d547fb444393cb82f344da6f5d1e2a012599170a412b261f6cf35d8943da7e96fd9f204991580d5ea045b43e2aa33ea5ad9fa9307d4 SHA512 0b5cad7b928319b922bdaa27d07fd38f1c359799ef9c217b6c1979f8ac9a86706e7ad1547f484aeb1db449a37693d18b2710b877483266915a869372c29ee1e4 +AUX flann-1.9.1-boost-1.87.patch 1964 BLAKE2B 95d239f84a2091df5a33c2185af62dd6c16e0e9a44adb259ceb9fa9a1ef9d7dd5cf53f75c78c5c959b160c5ff1c5e814c0d060566fe4f86c02f4936fb5498545 SHA512 82244cb1ce3a344b6b9239d403529a02018593c0657dfebeffc6dc0018f53bd1b3f27b0bff00358d3b1b9a93445034c27825baca4252df92ed7e06a1bff4cc4b +AUX flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch 3123 BLAKE2B 9a65fdfe4af6a0b8fb968f03a450b8f243bf309fc28addfec33d234981363a0bfc4dd719aca2033f453c99ad3a7330bd526b71cfeca56410a6680a71d788c04f SHA512 d6d20e18f7f3c13025dee9880468242a7357426816acc00f1ac587ee6c27d5c7936c78b83cdc072f8cf0ddd910a5f8f932c9e7ba6f58d59a6d32c6406952de0e +AUX flann-1.9.1-cmake-3.11-1.patch 591 BLAKE2B ea4d6d2054819a1d03741a0f2be0abeec022a5ae576ce4c4ce173cd9823332ff788d7216583561f425e463ae4e9b5a41f05f217bfd776b66566c0ae5e7c69b4f SHA512 9c8d9626f83c9df30f2ec54a78c477376a5cc26bc74253b0c4116356c1e116ac6febf65d146660ac3d9e2eb8fbf20493fe6aa065c63d51d7c643c87c1e90f05f +AUX flann-1.9.1-cmake-3.11.patch 2656 BLAKE2B 6151c1322dd1c23edf02faad3d048ff646be4ac2464c69df96a6dbad097aa8fe21b582cb79b61303d0ef7fccb8e9983d378e7db17bebd024e9b4c5d3a1c8c317 SHA512 5074589369b2fe0fb89a5dffd6454bb4ee8130ae59b9496c82d4d3736feea62c75b0de0df2f3ec8e0447622c02c03fea694ee64cf042670dbe6e456c87a87124 +AUX flann-1.9.1-cuda-9.patch 612 BLAKE2B 3ea593903a5af6f7411d41a79dc3990499388a75ca998b6af5c6f77fe6aab6b7d18ae84d9a0c83f6d2578800d1cf38e573332755469af02ea14542f3b31a6f09 SHA512 98af97d96e174abaa125421ee0e70ac6d32919759814820387c03c92a8601322ce3211a88385c773a11d5592e9abb5dcc1cb98441f15d88cd9c8763ba0de6e18 AUX flann-1.9.1-system-lz4-pkgconfig.patch 1168 BLAKE2B 9fadff93a2d603aee3eadd72d28f5af4f41b63803aa7d878d9b23e30a9c2384d48f85d2c8be8cfcd47542b35e929b8f35afc70caf6dc6c676b6521ebc6f829d7 SHA512 ba1c6307f2504814adfc872f1cbcd4fdaab23c56d84427c11c20e3ff75263ac97be0813cf9c5e9acd1a945d0c5dbb2b7660ada3290ffc7332ea0c90b1bc26ffa -AUX flann-1.9.1-system-lz4.patch 4934 BLAKE2B eea32abae8b13d5d0e5149c58b2639c1b6f3bbbedfa8aa91f5fb83afca4726571eb4e01eb440eb913b54f8a03124bc0266c8b039b6448bcdc0bc5e87a9512c6f SHA512 acb67eb59b400b82722f064e529fc86f43c4e16ba097a3742b5717b33fcd35a619c73ec6ea6391b23f906d4bc40a5167b56cffd0267bc2c8259b7298ad414e65 +AUX flann-1.9.1-system-lz4.patch 4198 BLAKE2B d7c20e5649ed83af75dfe933f436c0c260111fcb280e67c2e3579bba35012c817acaf2b331cffc95e1d382940d204ebfca3818d4b9075d1a69e9f67eee4f47f6 SHA512 d35bf88ca222b2eeb46cb22f34a3d986277e30704f9e4b7b95266b28abbcc5f1beaaa533bb7f3ddc76c55c94e0eb3d3e55ac6ba3cd532763e7e1df66e52f458c +AUX flann-1.9.2-asio-boost187.patch 1739 BLAKE2B 500b7fbcd033a3aad927a62382f3a64d088220054737385a094addb43178c70f38cf4ea848303588882b8b8f5b42de601befa64fdfe60704b20024041c17c53c SHA512 346ebe99f547f7a08ff2ecc35c68e9ccd23dab37eb4323d4ad21f5a69035cbc463510195719e6e21c534ea342a8ed02caa3ee207bd191b0ff4413ede07b88072 +AUX flann-1.9.2-boost-config.patch 700 BLAKE2B f24e1eaace63bfe5533ecf0fc540e568172b2dfcac296714fdef9744e82e51689833cf5041f99d3d411c41396a0772e41484a55c21d2c253543ed1fa3fe4a7c6 SHA512 71f7d3aa73ec9eb15c695f8368672748d4d93664f0e6d7d171f862e54aaa47870b60282141aec0cd67889698bc1765688cd77348dc8f74669bc636cab98fa532 +AUX flann-1.9.2-system-gtest.patch 1000 BLAKE2B b4278ea65b36ba725b4061a4eaed159b39a4b8dec4661e88674436d132457cffed4eca8f85cf8028c61ca1e644ea0d989eab4260566483e0a3ec0c6072c2bb37 SHA512 d7985d92433b8f020852387376772b3353710bd196228857f689efdc68164f5c7d2331080b067802127771575614c96c3ff60b0c93a72455008a2ac20aaf8449 DIST flann-1.9.1.tar.gz 485391 BLAKE2B bf1e1e7feb33e939e1d0586db593bea3fdf66726fbadec63df9ed9c7bdb678babb11001769f0d041a7a569186b3d700db8b96af5eb9740615f6dfd880460f68b SHA512 0da78bb14111013318160dd3dee1f93eb6ed077b18439fd6496017b62a8a6070cc859cfb3e08dad4c614e48d9dc1da5f7c4a21726ee45896d360506da074a6f7 +DIST flann-1.9.2_p20221027-patches.tar.xz 10232 BLAKE2B 197dd8b81f4a7a43472e440de58a6eb7349e247514ac32a4de9d5c4ea9304da2ab6991f9561dd15fd005a4a55b14f40e4de05b324c55c50632fe9b8cd1f18371 SHA512 04bb6ff3d645ead761b37aa1e8873dc39cc8f910112fc64a55a941a4c0ab9d70a37caf018f1cc649debff04f0ac7cbbd0eb439a8a8d03b879bcddb73979e91c3 +DIST flann-1.9.2_p20221027.tar.gz 34644592 BLAKE2B 822afa518a1efcfd552cee7c9bd9e14587a450d5ddae50c4d225453ab56d7297ca73f5b5bda153aea9ff37e736942057ae071ac41e3d26ac1aeb03a408171162 SHA512 14cd7d3249109ce66c43258f8b9d158efa3b57f654708e76751290eba25e2cb7fc8044a1d882c6b24d0cda1a8b206709acdb5338086ca1f2d60fef35f0fa85be EBUILD flann-1.9.1-r6.ebuild 2281 BLAKE2B 60ae0b559e56a67e9283aa2330f3c244ec9bfe86a77f0dcc93fa44359f5badcf4df4107d2166a3ff504d3d0e17429836b4d0886b6aea05fe53159d9ec77c5ad4 SHA512 3b2e76a51c792ae720e9aadb134c1ddc40690065016bd0733692c43fd6ba16cea739e3481a64beabb2aff157cc73642a90af61e12e0ba6614386045657b25234 -MISC metadata.xml 912 BLAKE2B e78b293fb235efa090e62fdee5a9f9646e9b46640b8ec64815834a7897504b37ab9c0a275c17c7bf1464384a460c562ff046cc445416e891b52639f0f2d54f38 SHA512 e493462f2d4e91b656ec0b18017b34533b362eced29025b582ac8191597841fc761ac0a84a3bcaf1a8ba7c1b33c097e9d7292d6403c1aa4fc035f7416a6dd45a +EBUILD flann-1.9.1-r7.ebuild 2331 BLAKE2B 3719c9a7e6c1eae072e94fca69ed06a036cc09f30a05a08943165ca484583ee60bc40a73b9ae00d376ed3ff75854811f08ce8dbe411e306997b7208d4c2ae05a SHA512 0e4b3d8c30d2a4de19fa16c5e45ed3ef8425d11c8c45242755aaefef4e0c0cf67c741344f6e5a58198418d5d711418622ecffc48f24ccb25c83c6106f781fcd6 +EBUILD flann-1.9.2_p20221027.ebuild 2794 BLAKE2B 2209493b04f3839be8b7a52418fa36dd3fc9d837451f67691b1007bcf0f50c9c4e1b48aabebf5c1caf7d54300d1637473750fbac4e8061610c6da66d633c8f4b SHA512 a5fe3acfaed3cde42a12dc160b3058f6f68a45e89b9a3f2c6305f54ca06bc3d4a441252eddde3a41275cee5b889dceb33408c94dd35280c5c3e53b16fbfc7223 +MISC metadata.xml 911 BLAKE2B 91ff495b936d1f5314be65367c332cab0ca78f618e6ed8197f2aa4762670feb61e6bb8155b11f5127224e4ee0c716b3e71e290030be5331db4f0722b63d151b4 SHA512 996d48a77a00584b4fe2f0c170ddbfbb92282a0a3fdde5bf0619ffc2f1f1168d50fae282e5e7758da8b94a8cb284d7744d52e8b0ac12eaaff67339942f3f667b diff --git a/sci-libs/flann/files/flann-1.9.1-boost-1.87.patch b/sci-libs/flann/files/flann-1.9.1-boost-1.87.patch new file mode 100644 index 000000000000..a19b8a3f4183 --- /dev/null +++ b/sci-libs/flann/files/flann-1.9.1-boost-1.87.patch @@ -0,0 +1,60 @@ +--- a/src/cpp/flann/mpi/client.h ++++ b/src/cpp/flann/mpi/client.h +@@ -45,17 +45,16 @@ class Client + public: + Client(const std::string& host, const std::string& service) + { +- tcp::resolver resolver(io_service_); +- tcp::resolver::query query(tcp::v4(), host, service); +- iterator_ = resolver.resolve(query); ++ tcp::resolver resolver(io_context_); ++ results_ = resolver.resolve(host, service); + } + + + template<typename ElementType, typename DistanceType> + void knnSearch(const flann::Matrix<ElementType>& queries, flann::Matrix<int>& indices, flann::Matrix<DistanceType>& dists, int knn, const SearchParams& params) + { +- tcp::socket sock(io_service_); +- sock.connect(*iterator_); ++ tcp::socket sock(io_context_); ++ boost::asio::connect(sock, results_); + + Request<ElementType> req; + req.nn = knn; +@@ -78,8 +77,8 @@ public: + + + private: +- boost::asio::io_service io_service_; +- tcp::resolver::iterator iterator_; ++ boost::asio::io_context io_context_; ++ tcp::resolver::results_type results_; + }; + + +--- a/src/cpp/flann/mpi/server.h ++++ b/src/cpp/flann/mpi/server.h +@@ -119,18 +119,18 @@ public: + void run() + { + boost::mpi::communicator world; +- boost::shared_ptr<boost::asio::io_service> io_service; ++ boost::shared_ptr<boost::asio::io_context> io_context; + boost::shared_ptr<tcp::acceptor> acceptor; + + if (world.rank()==0) { +- io_service.reset(new boost::asio::io_service()); +- acceptor.reset(new tcp::acceptor(*io_service, tcp::endpoint(tcp::v4(), port_))); ++ io_context.reset(new boost::asio::io_context()); ++ acceptor.reset(new tcp::acceptor(*io_context, tcp::endpoint(tcp::v4(), port_))); + std::cout << "Start listening for queries...\n"; + } + for (;;) { + socket_ptr sock; + if (world.rank()==0) { +- sock.reset(new tcp::socket(*io_service)); ++ sock.reset(new tcp::socket(*io_context)); + acceptor->accept(*sock); + std::cout << "Accepted connection\n"; + } diff --git a/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch b/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch index f29aef41977c..d0e9ea04bf09 100644 --- a/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch +++ b/sci-libs/flann/files/flann-1.9.1-build-oct-rather-than-mex-files-for-octave.patch @@ -9,12 +9,6 @@ Subject: [PATCH] build *.oct rather than *.mex files for octave LOCATION Signed-off-by: Alexander Golubev <fatzer2@gmail.com> ---- - src/matlab/CMakeLists.txt | 28 ++++++++++++++++++---------- - 1 file changed, 18 insertions(+), 10 deletions(-) - -diff --git a/src/matlab/CMakeLists.txt b/src/matlab/CMakeLists.txt -index a89b6b8..ebacaea 100755 --- a/src/matlab/CMakeLists.txt +++ b/src/matlab/CMakeLists.txt @@ -16,9 +16,6 @@ endif() diff --git a/sci-libs/flann/files/flann-1.9.1-cmake-3.11-1.patch b/sci-libs/flann/files/flann-1.9.1-cmake-3.11-1.patch index 4cf8f3a990fc..fccac407c1e6 100644 --- a/sci-libs/flann/files/flann-1.9.1-cmake-3.11-1.patch +++ b/sci-libs/flann/files/flann-1.9.1-cmake-3.11-1.patch @@ -1,5 +1,5 @@ ---- a/src/cpp/CMakeLists.txt 2019-02-14 21:58:41.567625108 +0100 -+++ b/src/cpp/CMakeLists.txt 2019-02-14 21:59:04.017920926 +0100 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt @@ -34,7 +34,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AN target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) diff --git a/sci-libs/flann/files/flann-1.9.1-cmake-3.11.patch b/sci-libs/flann/files/flann-1.9.1-cmake-3.11.patch index b37bedcf6d50..e199a511a48e 100644 --- a/sci-libs/flann/files/flann-1.9.1-cmake-3.11.patch +++ b/sci-libs/flann/files/flann-1.9.1-cmake-3.11.patch @@ -40,14 +40,6 @@ http://autobuild.buildroot.net/results/b2f/b2febfaf8c44ce477b3e4a5b9b976fd25e8d7 [3] https://github.com/mariusmuja/flann/commit/0fd62b43be2fbb0b8d791ee36290791224dc030c Signed-off-by: Romain Naour <romain.naour@gmail.com> ---- - src/cpp/CMakeLists.txt | 4 ++-- - src/cpp/empty.cpp | 1 + - 2 files changed, 3 insertions(+), 2 deletions(-) - create mode 100644 src/cpp/empty.cpp - -diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index b44a735..a816863 100644 --- a/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt @@ -29,7 +29,7 @@ if (BUILD_CUDA_LIB) @@ -68,9 +60,6 @@ index b44a735..a816863 100644 set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX) target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive) else() -diff --git a/src/cpp/empty.cpp b/src/cpp/empty.cpp -new file mode 100644 -index 0000000..40a8c17 --- /dev/null +++ b/src/cpp/empty.cpp @@ -0,0 +1 @@ diff --git a/sci-libs/flann/files/flann-1.9.1-cuda-9.patch b/sci-libs/flann/files/flann-1.9.1-cuda-9.patch index 561c379af9ae..5f3483ea6756 100644 --- a/sci-libs/flann/files/flann-1.9.1-cuda-9.patch +++ b/sci-libs/flann/files/flann-1.9.1-cuda-9.patch @@ -4,12 +4,6 @@ Date: Fri, 4 May 2018 07:50:24 +0000 Subject: [PATCH] fix compilation via gcc and cuda 9.1 add missing #include <thrust/gather> to kdtree_cuda_3d_index.cu ---- - src/cpp/flann/algorithms/kdtree_cuda_3d_index.cu | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/cpp/flann/algorithms/kdtree_cuda_3d_index.cu b/src/cpp/flann/algorithms/kdtree_cuda_3d_index.cu -index e9b05080..8465322e 100644 --- a/src/cpp/flann/algorithms/kdtree_cuda_3d_index.cu +++ b/src/cpp/flann/algorithms/kdtree_cuda_3d_index.cu @@ -32,6 +32,7 @@ diff --git a/sci-libs/flann/files/flann-1.9.1-system-lz4.patch b/sci-libs/flann/files/flann-1.9.1-system-lz4.patch index dcc9fedd4a97..04ef15939284 100644 --- a/sci-libs/flann/files/flann-1.9.1-system-lz4.patch +++ b/sci-libs/flann/files/flann-1.9.1-system-lz4.patch @@ -3,16 +3,6 @@ Date: Sun, 14 Oct 2018 00:25:05 +0200 Subject: Use system version of liblz4 Also make sure that flann_cpp is linked against LZ4. ---- - CMakeLists.txt | 3 +++ - cmake/flann.pc.in | 2 +- - examples/CMakeLists.txt | 3 +++ - src/cpp/CMakeLists.txt | 8 ++++++-- - src/cpp/flann/util/serialization.h | 4 ++-- - 5 files changed, 15 insertions(+), 5 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a01fb7a..995e54e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -142,6 +142,9 @@ if (BUILD_CUDA_LIB) @@ -25,8 +15,6 @@ index a01fb7a..995e54e 100644 #set the C/C++ include path to the "include" directory include_directories(BEFORE ${PROJECT_SOURCE_DIR}/src/cpp) -diff --git a/cmake/flann.pc.in b/cmake/flann.pc.in -index 82eee5e..07b8d64 100644 --- a/cmake/flann.pc.in +++ b/cmake/flann.pc.in @@ -8,6 +8,6 @@ Name: @PROJECT_NAME@ @@ -37,8 +25,6 @@ index 82eee5e..07b8d64 100644 +Libs: -L${libdir} @LZ4_STATIC_LDFLAGS@ -lflann -lflann_cpp Cflags: -I${includedir} -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index e9fef04..2b2bb9d 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -3,6 +3,7 @@ add_custom_target(examples ALL) @@ -65,8 +51,6 @@ index e9fef04..2b2bb9d 100644 target_link_libraries(flann_example_mpi flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES}) add_dependencies(examples flann_example_mpi) -diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index b453b27..5c4f693 100644 --- a/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt @@ -4,11 +4,12 @@ add_definitions(-D_FLANN_VERSION=${FLANN_VERSION}) @@ -108,8 +92,6 @@ index b453b27..5c4f693 100644 if(MINGW AND OPENMP_FOUND) target_link_libraries(flann gomp) -diff --git a/src/cpp/flann/util/serialization.h b/src/cpp/flann/util/serialization.h -index d731021..cdc2e5e 100644 --- a/src/cpp/flann/util/serialization.h +++ b/src/cpp/flann/util/serialization.h @@ -6,8 +6,8 @@ diff --git a/sci-libs/flann/files/flann-1.9.2-asio-boost187.patch b/sci-libs/flann/files/flann-1.9.2-asio-boost187.patch new file mode 100644 index 000000000000..be8961c6af68 --- /dev/null +++ b/sci-libs/flann/files/flann-1.9.2-asio-boost187.patch @@ -0,0 +1,55 @@ +From 8972fc0ebb7f26e8f1f985d3ada52f9cd4510207 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Mon, 16 Dec 2024 15:48:52 +0100 +Subject: [PATCH] Update asio for boost 1.87 + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/src/cpp/flann/mpi/client.h b/src/cpp/flann/mpi/client.h +index 19a410c..8b7fbed 100644 +--- a/src/cpp/flann/mpi/client.h ++++ b/src/cpp/flann/mpi/client.h +@@ -45,9 +45,8 @@ class Client + public: + Client(const std::string& host, const std::string& service) + { +- tcp::resolver resolver(io_service_); +- tcp::resolver::query query(tcp::v4(), host, service); +- iterator_ = resolver.resolve(query); ++ boost::asio::ip::basic_resolver<tcp> resolver(io_service_); ++ iterator_ = resolver.resolve(tcp::v4(), host, service).begin(); + } + + +@@ -78,8 +77,8 @@ public: + + + private: +- boost::asio::io_service io_service_; +- tcp::resolver::iterator iterator_; ++ boost::asio::io_context io_service_; ++ boost::asio::ip::basic_resolver_iterator<tcp> iterator_; + }; + + +diff --git a/src/cpp/flann/mpi/server.h b/src/cpp/flann/mpi/server.h +index 2caab43..9d10280 100644 +--- a/src/cpp/flann/mpi/server.h ++++ b/src/cpp/flann/mpi/server.h +@@ -119,11 +119,11 @@ public: + void run() + { + boost::mpi::communicator world; +- boost::shared_ptr<boost::asio::io_service> io_service; ++ boost::shared_ptr<boost::asio::io_context> io_service; + boost::shared_ptr<tcp::acceptor> acceptor; + + if (world.rank()==0) { +- io_service.reset(new boost::asio::io_service()); ++ io_service.reset(new boost::asio::io_context()); + acceptor.reset(new tcp::acceptor(*io_service, tcp::endpoint(tcp::v4(), port_))); + std::cout << "Start listening for queries...\n"; + } +-- +2.47.1 + diff --git a/sci-libs/flann/files/flann-1.9.2-boost-config.patch b/sci-libs/flann/files/flann-1.9.2-boost-config.patch new file mode 100644 index 000000000000..2e3f8598bd79 --- /dev/null +++ b/sci-libs/flann/files/flann-1.9.2-boost-config.patch @@ -0,0 +1,23 @@ +From 5127212278ef3675f36e962dc2f057583ab80f57 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Mon, 16 Dec 2024 16:02:03 +0100 +Subject: [PATCH] boost config + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 64ead01..0e0b4dc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -108,7 +108,7 @@ endif(USE_MPI) + + + if (USE_MPI AND HDF5_IS_PARALLEL) +- find_package(Boost COMPONENTS mpi system serialization thread REQUIRED) ++ find_package(Boost COMPONENTS mpi system serialization thread REQUIRED CONFIG) + include_directories(${Boost_INCLUDE_DIRS}) + add_definitions("-DHAVE_MPI") + endif() +-- +2.47.1 + diff --git a/sci-libs/flann/files/flann-1.9.2-system-gtest.patch b/sci-libs/flann/files/flann-1.9.2-system-gtest.patch new file mode 100644 index 000000000000..f825cf3d529b --- /dev/null +++ b/sci-libs/flann/files/flann-1.9.2-system-gtest.patch @@ -0,0 +1,36 @@ +From 4001b11f20ccfc291a355c52a090fa16e2f5a5f1 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Mon, 6 Jan 2025 16:13:09 +0100 +Subject: [PATCH] system gtest + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake +index e02a6ff..544f87a 100644 +--- a/cmake/flann_utils.cmake ++++ b/cmake/flann_utils.cmake +@@ -41,6 +41,13 @@ macro(find_hdf5) + endmacro(find_hdf5) + + ++if(BUILD_TESTS) ++enable_testing() ++find_package(GTest) ++if(GTest_FOUND) ++ set(googletest_LIBRARIES GTest::gtest) ++ add_library(googletest ALIAS GTest::gtest) ++else() + # Enable ExternalProject CMake module + include(ExternalProject) + +@@ -69,6 +76,8 @@ set(googletest_INCLUDE_DIRS ${source_dir}/googletest/include) + ExternalProject_Get_Property(googletest binary_dir) + set(googletest_LIBRARIES ${binary_dir}/lib/libgtest.a) + include_directories(${googletest_INCLUDE_DIRS}) ++endif() ++endif() + + + macro(flann_add_gtest exe src) +-- +2.47.1 diff --git a/sci-libs/flann/flann-1.9.1-r7.ebuild b/sci-libs/flann/flann-1.9.1-r7.ebuild new file mode 100644 index 000000000000..8bd2008b221d --- /dev/null +++ b/sci-libs/flann/flann-1.9.1-r7.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake cuda flag-o-matic toolchain-funcs + +DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces" +HOMEPAGE="https://github.com/mariusmuja/flann" +SRC_URI="https://github.com/mariusmuja/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~ppc ~x86 ~amd64-linux ~x86-linux" +IUSE="cuda doc examples mpi octave openmp" + +BDEPEND=" + app-arch/unzip + doc? ( dev-tex/latex2html ) + mpi? ( app-admin/chrpath ) +" +DEPEND=" + app-arch/lz4:= + cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 ) + mpi? ( + dev-libs/boost:=[mpi] + sci-libs/hdf5:=[mpi] + ) + !mpi? ( !sci-libs/hdf5[mpi] ) + octave? ( >=sci-mathematics/octave-3.6.4-r1:= ) +" +RDEPEND="${DEPEND}" +# TODO: +# readd dependencies for test suite, +# requires multiple ruby dependencies + +PATCHES=( + "${FILESDIR}"/${P}-cmake-3.11{,-1}.patch # bug 678030 + "${FILESDIR}"/${P}-cuda-9.patch + "${FILESDIR}"/${P}-system-lz4.patch # bug 681898 + "${FILESDIR}"/${P}-system-lz4-pkgconfig.patch # bug 827263 + "${FILESDIR}"/${P}-build-oct-rather-than-mex-files-for-octave.patch # bug 830424 + "${FILESDIR}"/${P}-boost-1.87.patch # bug 946465 +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + # bug #302621 + use mpi && export CXX=mpicxx + + use cuda && cuda_src_prepare + + cmake_src_prepare +} + +src_configure() { + append-cxxflags -std=c++11 + + # python bindings are split off into dev-python/pyflann + local mycmakeargs=( + -DBUILD_C_BINDINGS=ON + -DBUILD_PYTHON_BINDINGS=OFF + -DPYTHON_EXECUTABLE= + -DBUILD_CUDA_LIB=$(usex cuda) + -DBUILD_EXAMPLES=$(usex examples) + -DBUILD_DOC=$(usex doc) + -DBUILD_TESTS=OFF + -DBUILD_MATLAB_BINDINGS=$(usex octave) + -DUSE_MPI=$(usex mpi) + -DUSE_OPENMP=$(usex openmp) + ) + use cuda && mycmakeargs+=( + -DCUDA_NVCC_FLAGS="${NVCCFLAGS} --linker-options \"-arsch\"" + ) + use doc && mycmakeargs+=( -DDOCDIR=share/doc/${PF} ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + find "${D}" -name 'lib*.a' -delete || die + + # bug 795828; mpicc volunterely adds some runpaths + if use mpi; then + chrpath -d "${ED}"/usr/bin/flann_mpi_{client,server} || die + fi +} diff --git a/sci-libs/flann/flann-1.9.2_p20221027.ebuild b/sci-libs/flann/flann-1.9.2_p20221027.ebuild new file mode 100644 index 000000000000..d628a4efa00f --- /dev/null +++ b/sci-libs/flann/flann-1.9.2_p20221027.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake cuda toolchain-funcs + +DESCRIPTION="Fast approximate nearest neighbor searches in high dimensional spaces" +HOMEPAGE="https://github.com/flann-lib/flann" +COMMIT="f9caaf609d8b8cb2b7104a85cf59eb92c275a25d" +SRC_URI=" + https://github.com/flann-lib/${PN}/archive/${COMMIT}.tar.gz + -> ${P}.tar.gz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz +" +S="${WORKDIR}/${PN}-${COMMIT}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86 ~amd64-linux ~x86-linux" +IUSE="cuda doc examples mpi octave openmp test" +RESTRICT="!test? ( test )" + +BDEPEND=" + doc? ( + dev-tex/latex2html + ) + mpi? ( + app-admin/chrpath + ) +" +DEPEND=" + app-arch/lz4:= + cuda? ( + dev-util/nvidia-cuda-toolkit:= + ) + examples? ( + sci-libs/hdf5:=[mpi?] + ) + mpi? ( + dev-libs/boost:=[mpi] + sci-libs/hdf5[mpi] + ) + octave? ( + >=sci-mathematics/octave-3.6.4-r1:= + ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.1-build-oct-rather-than-mex-files-for-octave.patch # bug 830424 + "${FILESDIR}"/${PN}-1.9.2-asio-boost187.patch + "${FILESDIR}"/${PN}-1.9.2-boost-config.patch + "${FILESDIR}"/${PN}-1.9.2-system-gtest.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + # bug #302621 + use mpi && export CXX=mpicxx + + cmake_src_prepare + for patch in "${WORKDIR}/${P}-patches"/*; do + eapply "${patch}" + done +} + +src_configure() { + + # python bindings are split off into dev-python/pyflann + local mycmakeargs=( + -DCMAKE_CXX_STANDARD=17 + -DBUILD_C_BINDINGS="yes" + -DBUILD_PYTHON_BINDINGS="no" + -DBUILD_CUDA_LIB="$(usex cuda)" + -DBUILD_EXAMPLES="$(usex examples)" + -DBUILD_DOC="$(usex doc)" + -DBUILD_TESTS="$(usex test)" + -DBUILD_MATLAB_BINDINGS="$(usex octave)" + -DUSE_MPI="$(usex test "$(usex mpi)")" + -DUSE_OPENMP="$(usex openmp)" + -DCMAKE_BUILD_STATIC_LIBS="no" + ) + + if use cuda; then + cuda_add_sandbox -w + + mycmakeargs+=( + -DCMAKE_CUDA_FLAGS="-Xcudafe \"--diag_suppress=partial_override\"" + ) + export CUDAHOSTCXX="$(cuda_gccdir)" + export CUDAHOSTLD="$(tc-getCXX)" + fi + + use doc && mycmakeargs+=( -DDOCDIR="share/doc/${PF}" ) + + cmake_src_configure +} + +src_compile() { + local targets=( "all" ) + + use doc && targets+=( "doc" ) + + if use test; then + targets+=( "flann_gtests" ) + if use cuda; then + targets+=( "flann_cuda_test" ) + fi + fi + + cmake_src_compile "${targets[@]}" +} + +src_test() { + # some fail when run in parallel + cmake_src_test -j1 +} + +src_install() { + cmake_src_install + + # bug 795828; mpicc voluntarily adds some runpaths + if use mpi; then + chrpath -d "${ED}/usr/bin/flann_mpi_"{client,server} || die + fi +} diff --git a/sci-libs/flann/metadata.xml b/sci-libs/flann/metadata.xml index c33b2618d660..f54c9e238fb6 100644 --- a/sci-libs/flann/metadata.xml +++ b/sci-libs/flann/metadata.xml @@ -19,6 +19,6 @@ <pkg>sci-mathematics/octave</pkg></flag> </use> <upstream> - <remote-id type="github">mariusmuja/flann</remote-id> + <remote-id type="github">flann-lib/flann</remote-id> </upstream> </pkgmetadata> diff --git a/sci-libs/hipBLAS-common/Manifest b/sci-libs/hipBLAS-common/Manifest new file mode 100644 index 000000000000..1a3f12967ec1 --- /dev/null +++ b/sci-libs/hipBLAS-common/Manifest @@ -0,0 +1,3 @@ +DIST hipBLAS-common-6.3.0.tar.gz 7512 BLAKE2B d074cd925f06619028bf1a5b5ae69f10b8852ef321a9ec6f92b3fe1f63baadc90f8fa39872e433f81bbed072364dd63d0b37bfa49bdc0d9faef5027b52af6c1e SHA512 3812a277fbde7bee2f3ab6040e89b97dd60385797bdab942907d59d01d684cc4ec84476333e9e6efded90400d6f99daad669d027ceb46c9dfe3a0d5d24e584d3 +EBUILD hipBLAS-common-6.3.0.ebuild 456 BLAKE2B 14976552e0872b0b2b6399668605f49b7f4c2dbcdbe582f4befa9d4cc82bdf3c1df0a9f9f6d9146ed71c9a9034f5e0aab373b4a2b38a33f53e5560db833bc7de SHA512 ac8ce8a7ba6e4b49080f302eb3aba96c3f99c15bd0c2cfbdfec400049a6c77087c2d8005e9fbbf6a36752052d0ebd5fba75ec08338a35722930483f0bb83fb6b +MISC metadata.xml 421 BLAKE2B 17cb718822d85b314a5dd8d334b972275537269cff854e2a30460fc4e370b45dbe109c9fbadedb48bef2756a3fdd221577e62b7b2bf99fd541eb0dd814bd0354 SHA512 6a3e92e63c84a8b7930b00512247bda003350d5b427416828e6522ea680461a02f8edf9217a884851c9474b3612c297dcf2f367c30c9084fb2dd4502ea7eb2f2 diff --git a/sci-libs/hipBLAS-common/hipBLAS-common-6.3.0.ebuild b/sci-libs/hipBLAS-common/hipBLAS-common-6.3.0.ebuild new file mode 100644 index 000000000000..8b3b0df3907e --- /dev/null +++ b/sci-libs/hipBLAS-common/hipBLAS-common-6.3.0.ebuild @@ -0,0 +1,16 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake +DESCRIPTION="Common files shared by hipBLAS and hipBLASLt" +HOMEPAGE="https://github.com/ROCm/hipBLAS-common" +SRC_URI="https://github.com/ROCm/hipBLAS-common/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/hipBLAS-common-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +BDEPEND="dev-build/rocm-cmake" diff --git a/sci-libs/hipBLAS-common/metadata.xml b/sci-libs/hipBLAS-common/metadata.xml new file mode 100644 index 000000000000..308181fa9026 --- /dev/null +++ b/sci-libs/hipBLAS-common/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci@gentoo.org</email> + </maintainer> + <maintainer type="person"> + <email>lockalsash@gmail.com</email> + <name>Sv. Lockal</name> + </maintainer> + <upstream> + <remote-id type="github">ROCm/hipBLAS-common</remote-id> + </upstream> +</pkgmetadata> diff --git a/sci-libs/hipBLAS/Manifest b/sci-libs/hipBLAS/Manifest index ffcc305f1a9c..286644f1c82c 100644 --- a/sci-libs/hipBLAS/Manifest +++ b/sci-libs/hipBLAS/Manifest @@ -2,8 +2,10 @@ DIST hipBLAS-5.1.3.tar.gz 526704 BLAKE2B d32d7029ea910c341e00dccab1ee9ab98451836 DIST hipBLAS-5.4.2.tar.gz 930814 BLAKE2B 702df09010b50652feb8f7e5741b27117aa58fc3e3b1b5f89f5043073a47581d1710f0831740453e84f7594b1b305e95d2681709898e5231c3eee2e8207404a3 SHA512 a941350d2d25022cf5142f68559242a048136bdd048dafcd544a0241cf3b510062273163f7a0eecc55f17ec47a1063d84d6102ca766ba7cde9b704eee5c44cd8 DIST hipBLAS-5.7.1.tar.gz 669163 BLAKE2B e065f77eba0bb99d347f71920e733d30b7693f9eaf0c1f2a87a169360ccff23b8294e367eebfd6489440308b9bb1ae662c39617c5bb94275bf9b0ed60d555f85 SHA512 24c074f07865e1a3dfb0aca0b1d494e340a584ecb408813bb5b053f8282437cfd3644d730163f4faf1b93da306626ba68904141f9c3730a29749537fb7fd1a63 DIST hipBLAS-6.1.1.tar.gz 835570 BLAKE2B dc8a54f3b6c780f63e57f208d67b15e965d3a7c98e20766ef22ecfd41e8780a6b9464e31efad8003b52562222ec7ad06801d93a502ff99f8456f415db09e5ace SHA512 390b9a9bf0238a5c72d51d034c0053ec8c6b007547b1ec9561064828c24335e099ddb0402ad76e60018ec96742d5acfbb29b9d218a613e1c6d54e4b8b05ceca7 +DIST hipBLAS-6.3.0.tar.gz 993145 BLAKE2B 6bd6108c90c511fb9e68f628714545569dac9afe9f022f9d59e365f44177ae574a4e3b94c9276b64aad3c72c94d5b3d87babe79edbb9cc2e6d5cbaebb82f3a83 SHA512 c5d40a6dcce467e44b091c610d35dc7abfe9e863b37438642e98568a3f8b084ffd94ee41e466a60f21151df765c0df377d553700e2df2b08375a58f40654f7dc EBUILD hipBLAS-5.1.3.ebuild 1290 BLAKE2B 2d5722359ad1192d245a0d344aa2d3ab794f49be3cf7d6e0e90936d8813c29e7d2b96fb571f0b34aa5cf2883186bf20c5a4e8d974bba148ac20370b032176d1d SHA512 a95a0f8ae694e346aa00d4de3b09938515e8f104e731fa14936dd6f335996c32136d043f326887b8bcde718b5782cb464fc9a23641ea9641492fa21efee4b3a3 EBUILD hipBLAS-5.4.2.ebuild 929 BLAKE2B ce433ff82d693d8b446bc47ce93e7ded4a4401cb423d45cbe9040d5a6b19bd1daa1b0b62e227c69505f941778fd3832827e867894f1ddb92538aebedddc26f67 SHA512 09813a2e0878222efdee2a5e87401671337dedb76441bbc5cca3c42f2aea3e88281ac503feb93b5ec3d4a904ceebe34bb9344ac577b9fdedb9f65e6678ead8fa EBUILD hipBLAS-5.7.1.ebuild 919 BLAKE2B 35676f043ad9ab3f3dc3398915e285fd5d8f15fd7ada8b1f3dc9af667853e7c57f79a51a3868141f91b8804b31353794038c0dd8be4a206ad44843609e385fb3 SHA512 2d825e3e69473d0fb0c8b718b0bc2751363bf0cf6f77f7afef54a9a4d2616cc09d8910a8196e44eb31aac8a3d3db389d702d5f2fa70107eae2ff8b38b72c15e0 -EBUILD hipBLAS-6.1.1.ebuild 877 BLAKE2B ffbb8660064b81317ffef15907d5203d213117787efce6bff92ffece9f47eb923048952113efa74fa187d9516298997ff1a5d78ad1c2481e28d3f17d5b21388c SHA512 c68564244a262ed0f2fd779a7ace6eda8ad65e5e1b43473098a2be4e4818e2ca6f7660924b75b7ab6e6f1b24b23cf5cfbc3d7bccf8c4da7f81a0b1860cd627e5 +EBUILD hipBLAS-6.1.1.ebuild 1031 BLAKE2B 7cf62b4427339cf3deaca50d30b95587240578e24cb2ad47ce01852e33141a4bd4c8208b28eb8923103ce8023bbef14da51a7e401a774f65b80c1efef8f4229d SHA512 82a4cd120f1ad40a3239d6e09542c04bede0c6619d53532276597b4aeafbb2773d75e8b3af49751e675ab4e7fd9eb90e162e9bf2e372408546c9150dbab38fd9 +EBUILD hipBLAS-6.3.0.ebuild 1075 BLAKE2B b1c0ee82e9d5a8dc3c195fd911710df7cd4ec9f184052f4dd51e65329a175928a10641a6b6eab5b7b98ad3bddc7679cde3c96a291975cd3142140093dad25aba SHA512 c0a05738cceee409f008536e7116d825174a874e280b029c92004d01eb149809586eb274c542f380153160a76e1b785b70ba4bc76bd280b9c9407cfaabe8ea09 MISC metadata.xml 647 BLAKE2B b4e941583a6b55bfa45a58e3173c6cecfcadaffd5e782c052f9cc8a46b37e1a09d9fd48b93fd0bd2977a982ec6752aed254f341caad0035a5dd8d2a1dad98b18 SHA512 d3ca380b71547c0e28be4dfbcc0b568fc2e2d89ae2ed0eca3bd087650d352539e5921d89d28bfd255e1564ec6c79dff5df2cddd3c008f91990f8c6f37ae3f3a8 diff --git a/sci-libs/hipBLAS/hipBLAS-6.1.1.ebuild b/sci-libs/hipBLAS/hipBLAS-6.1.1.ebuild index 439a778540e9..08e7ed59f34d 100644 --- a/sci-libs/hipBLAS/hipBLAS-6.1.1.ebuild +++ b/sci-libs/hipBLAS/hipBLAS-6.1.1.ebuild @@ -23,6 +23,10 @@ RDEPEND="dev-util/hip DEPEND="${RDEPEND}" 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=( # currently hipBLAS is a wrapper of rocBLAS which has tests, so no need to perform test here -DBUILD_CLIENTS_TESTS=OFF diff --git a/sci-libs/hipBLAS/hipBLAS-6.3.0.ebuild b/sci-libs/hipBLAS/hipBLAS-6.3.0.ebuild new file mode 100644 index 000000000000..c8659df1eeee --- /dev/null +++ b/sci-libs/hipBLAS/hipBLAS-6.3.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm +DESCRIPTION="ROCm BLAS marshalling library" +HOMEPAGE="https://github.com/ROCm/hipBLAS" +SRC_URI="https://github.com/ROCm/hipBLAS/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/hipBLAS-rocm-${PV}" + +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +RDEPEND=" + dev-util/hip:${SLOT} + sci-libs/hipBLAS-common:${SLOT} + sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/rocSOLVER:${SLOT}[${ROCM_USEDEP}] +" +DEPEND="${RDEPEND}" + +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=( + # currently hipBLAS is a wrapper of rocBLAS which has tests, so no need to perform test here + -DBUILD_CLIENTS_TESTS=OFF + -DBUILD_CLIENTS_BENCHMARKS=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + ) + + cmake_src_configure +} diff --git a/sci-libs/hipBLASLt/Manifest b/sci-libs/hipBLASLt/Manifest index 221dbbbf936c..24de61ff16dd 100644 --- a/sci-libs/hipBLASLt/Manifest +++ b/sci-libs/hipBLASLt/Manifest @@ -4,6 +4,10 @@ AUX hipBLASLt-6.1.1-fix-msgpack-dependency.patch 1094 BLAKE2B 9606ba01ead2aefd52 AUX hipBLASLt-6.1.1-gentoopath.patch 724 BLAKE2B ac3acc8c444de7a8072337cadb3c9976d94cd019a1ecf51a18a4ccd59500efd4de798f710738c818f495dd018d0c8885e8754fede2d308a50c355f2a39236370 SHA512 59358f5d0c22d9188cf4e70215c0e42415831b0e804709f1c97d42fce15049edb3e58320c252b413b016490ed72fc27ab59660880fe71e4226bace0808529b32 AUX hipBLASLt-6.1.1-no-arch.patch 2082 BLAKE2B c71e2c112c24f0c82170852f7fe5381e99e13501656e3519cd8438fe0ae369c95b16b9f4339d2ff0dc42eaf4f4a8cbdbac57c0b72856a9db6bd5344cf3fa8548 SHA512 a758ba61f52080ecae8be8e879a9e56a71b672b7fa1514573f4498520113d40fd1fb323baeeba28a4239e2a66dced478430a2c556510c4d70d8a0d4b2add2386 AUX hipBLASLt-6.1.1-no-git.patch 365 BLAKE2B 47b7f23a4ce0919cfd6d2d1a946d98822db912571d908c82d35d734ea2bfee15a1e537f50e8fb2ada474e819274654462b26f97fcb5dc010354df9f6ba30c377 SHA512 a44aa357bdc035ffcfe4d30fb81db205dfcfd28c00543a4c55f7f61f5a90ae228bcfce71be2f4290e842f60f534287b2f25a4cd2a27369ddbbaf1e0d1171a7d5 +AUX hipBLASLt-6.3.0-min-pip-install.patch 770 BLAKE2B a30eb865998ddd7bb3f1802dcbfd3ecfd3ab614bfb981a464b2981fa71e8e902e95b6b0739e8f71d74c6484c8dc56b44c1f9dba992f1083751ec0b5904216d32 SHA512 9d82f160688f6d0175d9bee84024ac80e6c02af9a371012583af4ab183ba5be3d44553f8794bdfa131f8395cbd6c48c7af08ce4ae2a54c127ece34282c099fd8 +AUX hipBLASLt-6.3.0-no-arch-extra.patch 674 BLAKE2B b02f01364f71824c6bd74c8202c1916156a53a2f41b244c55d18786e576bbf0e0b250ff67194e55c230ec9156e6461839698fb86caedc665a601290bf791155b SHA512 2fbb6fa3d9a6b7f19d326014836efdd9d1c1aa7a5306511700f89b8f1d24acaf336092f33b60de4ddd1fc8d7fd885596e6edf8f5350913adaff27f376cfed78a DIST hipBLASLt-6.1.1.tar.gz 78448557 BLAKE2B 08ac9ce45d7d1e4384a36939af22f65589ed87e25b4db77f5f7ff5fbe65b8070e9c55fbb09db3b7bd49be98981dc8bf939e646ea27571bf1d1ccfa52a50b0f92 SHA512 1aa3a1cb8e9c7f653db66909b38be065b7386b97d4bd6b52ecc6c2bf72c6cdfabde6f12ebc6016b5fa195f979359af875eda8d54ea6772329312cb357bc2ebc5 -EBUILD hipBLASLt-6.1.1-r1.ebuild 3311 BLAKE2B b0c616370f2ecadf353a0bbee88a30b38c29e2d4748c3c04dd56afdf6038b7c567f3b36b97ceaa946440bf2f97ef53b4d7d80cb01a03342336c7f620a99fec3d SHA512 1755815958456998c378fa6295be845c5d737b23078f5f004b30ea36181f08aa80bd19c3f1c1dbb37c37b9cbdd233ce6bfdb921a1eea43f9ccb2c956566159da +DIST hipBLASLt-6.3.0.tar.gz 89379233 BLAKE2B 0f63b1f0fb4686b58b102ad2d2b9baa272b07d203736c3972216cbd75eda38ffaf63939d8c25aadb416348a7b1c9b8bac27a3711121d5e584baa7a404babdd2b SHA512 b86613f818a1819668b3fce69422add97d36b09506d1109e3b739a6f86b8463aef9c8ef2434dd603a956f34e76e3f8fb4ddb2b98d5d2e4028f6f44b62aa6a48b +EBUILD hipBLASLt-6.1.1-r1.ebuild 3319 BLAKE2B 21102ca5fcf97c5fec7d98069797e03e303aafd26f52e1b9018de0b9ce6e4ff73c504731b032f2783f15c3a05853de05106eb48ad067c1d55c66e96096d9b57a SHA512 412caa469ae77c3737b6adb3135212c03137b69ed90ca3ac2b0e09fe5e507735024b7271b7962367af5f529d6b2d6e8d898673bbd72ae6304ded60fe5fdbbe69 +EBUILD hipBLASLt-6.3.0.ebuild 3820 BLAKE2B ce7323a150198a587cf65b44daa56fac93d04020d744b2b20c8903da2ba2e08d5579ad2dcb7738cc89ae118d8cd7ec6d21f50eb1fa40cee4445c8b4a32e9fd00 SHA512 0a4653b72f38080c97866d4a406d2ea0259c9b9b444b8f496e8258df3f49a3848612dc8e6cae1b1b6b0bd9d68b035cb05d990233880f15172d936c4fcfeb3c98 MISC metadata.xml 416 BLAKE2B 72248e12cd10654326a6685df0e03c508d413d2728d8e687eb8ad3d8dc928e518e3ba21df1ee774282c45363f61eed98b47b862cab2354d743ca530047084281 SHA512 02acf2d17f2c56f09c599fcde965bd5ceb07c335d7c2b4fd57a06a6b1a591a250d22de7a002f299cc99cacd1fd72f183adf51fc1b9ebff1338c6d83450da9c3b diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-min-pip-install.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-min-pip-install.patch new file mode 100644 index 000000000000..d2d9d32020b6 --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-min-pip-install.patch @@ -0,0 +1,23 @@ +Remove unused libraries and updates from pypi.org +--- a/cmake/virtualenv.cmake ++++ b/cmake/virtualenv.cmake +@@ -24,10 +24,6 @@ endfunction() + + function(virtualenv_install) + virtualenv_create() +- execute_process( +- COMMAND ${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} -m pip install --upgrade pip +- COMMAND ${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} -m pip install --upgrade setuptools +- ) + message("${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} -m pip install ${ARGN}") + execute_process( + RESULT_VARIABLE rc +--- a/tensilelite/requirements.txt ++++ b/tensilelite/requirements.txt +@@ -3,6 +3,3 @@ pyyaml + msgpack + joblib>=1.4.0; python_version >= '3.8' + joblib>=1.1.1; python_version < '3.8' +-simplejson +-ujson +-orjson diff --git a/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-no-arch-extra.patch b/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-no-arch-extra.patch new file mode 100644 index 000000000000..785ca9008007 --- /dev/null +++ b/sci-libs/hipBLASLt/files/hipBLASLt-6.3.0-no-arch-extra.patch @@ -0,0 +1,16 @@ +--- a/library/src/amd_detail/rocblaslt/src/kernels/CompileSourceKernel.cmake ++++ b/library/src/amd_detail/rocblaslt/src/kernels/CompileSourceKernel.cmake +@@ -25,6 +25,13 @@ function(CompileSourceKernel source archs buildIdKind outputFolder) + message("Setup source kernel targets") + string(REGEX MATCHALL "gfx[a-z0-9]+" archs "${archs}") + list(REMOVE_DUPLICATES archs) ++ ++ list(LENGTH archs archs_length) ++ if(archs_length EQUAL 0) ++ message("No architectures specified.") ++ return() ++ endif() ++ + list(JOIN archs "," archs) + message("archs for source kernel compilation: ${archs}") + add_custom_target(MatrixTransformKernels ALL diff --git a/sci-libs/hipBLASLt/hipBLASLt-6.1.1-r1.ebuild b/sci-libs/hipBLASLt/hipBLASLt-6.1.1-r1.ebuild index 021ed71fd7cd..b0aed5de521f 100644 --- a/sci-libs/hipBLASLt/hipBLASLt-6.1.1-r1.ebuild +++ b/sci-libs/hipBLASLt/hipBLASLt-6.1.1-r1.ebuild @@ -25,7 +25,7 @@ IUSE="${IUSE_TARGETS[@]/#/+} test" RESTRICT="!test? ( test )" RDEPEND=" - dev-util/hip + dev-util/hip:${SLOT} dev-cpp/msgpack-cxx sci-libs/hipBLAS:${SLOT} " diff --git a/sci-libs/hipBLASLt/hipBLASLt-6.3.0.ebuild b/sci-libs/hipBLASLt/hipBLASLt-6.3.0.ebuild new file mode 100644 index 000000000000..3a2f44a97a64 --- /dev/null +++ b/sci-libs/hipBLASLt/hipBLASLt-6.3.0.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_SKIP_GLOBALS=1 +PYTHON_COMPAT=( python3_{10..13} ) + +LLVM_COMPAT=( 19 ) + +inherit cmake flag-o-matic llvm-r1 prefix python-any-r1 rocm +DESCRIPTION="General matrix-matrix operations library for AMD Instinct accelerators" +HOMEPAGE="https://github.com/ROCm/hipBLASLt" +SRC_URI="https://github.com/ROCm/hipBLASLt/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/hipBLASLt-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +SUPPORTED_GPUS=( gfx908 gfx90a gfx940 gfx941 gfx942 gfx1100 gfx1101 ) +IUSE_TARGETS=( "${SUPPORTED_GPUS[@]/#/amdgpu_targets_}" ) +IUSE="${IUSE_TARGETS[@]/#/+} test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-cpp/msgpack-cxx +" + +DEPEND="${RDEPEND}" +BDEPEND=" + dev-build/rocm-cmake + sci-libs/hipBLAS-common:${SLOT} + $(python_gen_any_dep ' + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/joblib[${PYTHON_USEDEP}] + ') + $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') + test? ( + dev-cpp/gtest + virtual/blas + dev-util/rocm-smi:${SLOT} + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-fix-msgpack-dependency.patch + "${FILESDIR}"/${PN}-6.1.1-no-arch.patch + "${FILESDIR}"/${PN}-6.1.1-no-git.patch + "${FILESDIR}"/${PN}-6.1.1-clang-19.patch + "${FILESDIR}"/${PN}-6.1.1-fix-libcxx.patch + "${FILESDIR}"/${PN}-6.3.0-no-arch-extra.patch + "${FILESDIR}"/${PN}-6.3.0-min-pip-install.patch +) + +python_check_deps() { + python_has_version "dev-python/msgpack[${PYTHON_USEDEP}]" && + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" && + python_has_version "dev-python/joblib[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +pkg_pretend() { + if [[ "${AMDGPU_TARGETS[@]}" = "" ]]; then + ewarn "hipBLASLt supports only few GPUs: ${SUPPORTED_GPUS[@]}," + ewarn "but none of them were defined in AMDGPU_TARGETS USE_EXPAND variable." + ewarn + ewarn "Library will continue to be built in \"dummy\" mode," + ewarn "serving as a non-functional placeholder for end-user applications." + fi +} + +src_prepare() { + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix),g" \ + "${FILESDIR}"/${PN}-6.1.1-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply $(prefixify_ro "${S}"/gentoopath.patch) + + local shebangs=($(grep -rl "#!/usr/bin/env python3" tensilelite/Tensile || die)) + python_fix_shebang -q ${shebangs[*]} + + sed -e "s:\${rocm_path}/bin/amdclang++:$(get_llvm_prefix)/bin/clang++:" \ + -i library/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh || die + + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + # too many warnings + append-cxxflags -Wno-explicit-specialization-storage-class + + local targets="$(get_amdgpu_flags)" + local build_with_tensile=$([ "${AMDGPU_TARGETS[@]}" = "" ] && echo OFF || echo ON ) + + local mycmakeargs=( + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_WITH_TENSILE="${build_with_tensile}" + -DAMDGPU_TARGETS="${targets}" + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -Wno-dev + ) + + cmake_src_configure +} + +src_compile() { + local -x ROCM_PATH="${EPREFIX}/usr" + # set PYTHONPATH to load Tensile from virtualenv, not the system-wide one + local -x PYTHONPATH="${S}_build/virtualenv/lib/${EPYTHON}/site-packages" + local -x TENSILE_ROCM_ASSEMBLER_PATH="$(get_llvm_prefix)/bin/clang++" + # TensileCreateLibrary reads CMAKE_CXX_COMPILER again + local -x CMAKE_CXX_COMPILER="$(get_llvm_prefix)/bin/clang++" + cmake_src_compile +} + +src_install() { + cmake_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)/hipblaslt/library/ +} + +src_test() { + check_amdgpu + + # Expected time for 7900 XTX: 340s (full) or 5s with GTEST_FILTER='*quick*' + cmake_src_test +} diff --git a/sci-libs/hipCUB/Manifest b/sci-libs/hipCUB/Manifest index fe84e09a757d..06c7df6ca629 100644 --- a/sci-libs/hipCUB/Manifest +++ b/sci-libs/hipCUB/Manifest @@ -2,7 +2,9 @@ AUX hipCUB-4.3.0-add-memory-header.patch 421 BLAKE2B cd05a027dbf75098fd199783c0a DIST hipCUB-5.1.3.tar.gz 278021 BLAKE2B f30e567370fea80ef63a455c2c27b3f4ff241e7e405688fa4dc33d1e0ce3dffb016a1a1523b20613a7963bff061758eac0c0d110243a9a6cedbc100bb087d7d4 SHA512 dd3ca341b78cf6985ba723feeeb560c0503ab283b63067e9a5e68d12ad42f752a7f56fd60f0f0c26c2853538853e09a102cfc6006c18c31c3162fa7b536ffb9f DIST hipCUB-5.7.1.tar.gz 322980 BLAKE2B a9b2a69b47661532858f18e7296ef37be41da814bb4886f7b8b444829e6ad1374d1c3117b57e7599095253ed56ea2403c895bb820dbde9cec77c28a041af3898 SHA512 7cf7dc819a3d8bac2cf70aa077616e65d785d76bae3ad3991db7b940a061f694ac82b1e4219aa16476351f1329e3f0d09a818b0ff0b9c5ad261937879c21dca8 DIST hipCUB-6.1.1.tar.gz 343181 BLAKE2B 3943278597c5e9d41c225ad86c3cdcc113f35cf1bf218ba357a112c25ae14df8d0e3f385aacd82ab4c694ae2382012aea06c02d40d982d00929d03d0d3908b55 SHA512 37297f6791146cc9db11d3d494555672c021dea06bec1e8a780ca926df1e5de140c8ee560657668df6221279a0418af9e34a235b3b52df3df2a66adabea7ca6f +DIST hipCUB-6.3.0.tar.gz 387560 BLAKE2B cd5712267d9284a42364e0563503f1213b32bff69f17faea4fbcb7c85e5f95ac742f89a957b9924abd54beff8b010a03ceb095c669e27c870244731a5f05f7ee SHA512 2b3a8fbdae8a2146788d7a34956572bbf63188c7bd871b4eab78017b3144b6e4e0cd902d152f9624eb485b365cdca1d81681dcfeea44e1f57f112f1a12bfead1 EBUILD hipCUB-5.1.3.ebuild 1930 BLAKE2B 9a686ada92902f9ee2fed32ac68e5599a38fd25ab639a22316293efe868701399d6d26c401d9c09b328139d94fe4fccbe8a33e6dd3eb675b7b9704c906af3ce9 SHA512 91a0e1284bb43502525120d031586b12238a71c28583135848b824e555c5ed84ab7d2258eb38945090a00def1ba060ae2ba8aefa7c2fe5cd35ae38808b4df94d EBUILD hipCUB-5.7.1-r1.ebuild 1303 BLAKE2B b5702011d5ef9ffc482cec9a74bf6b05bc952d8d071b38d7dfe8ae5aa48d8944ec248d23eef9bbdf25e25085cb99e5b578a291b206fb6dfb97f2ca257245b515 SHA512 97e716391c5f75d05396b46cf05f73130eefc12566c07f550d25ed38fb764a02d3bee0b77ab0cdb849261bce8dba0fe66d01e9d261a110e4a06dbde1d201ffe5 EBUILD hipCUB-6.1.1.ebuild 1272 BLAKE2B 6bc38cd3d84b2c88e3926a54f52f7e3918f5fb2f9e723bb9fa4ce766b9b847890a42238d30c2c982ccd64ff95960ebb43da0fb83893f206b54eab6ed0771462f SHA512 aedac3ee24b853953f22d6beeddcbeff4e62acd5f33e69c5d1c85e4b7c398b25d466afdf95a90634aae1a3572eb9544ef19cfd7a5fadb2f80cd1d7d3fc1c5be7 +EBUILD hipCUB-6.3.0.ebuild 1378 BLAKE2B 662956e626b1defc7274a6e6b93cd49f4ed7d6fe875c7949930b689ace2b836a5451c153864d93e24dc2b59abd09a738003768cf0c89dbcc8b2ecf7721946562 SHA512 3418a67fe0e234c0c367c68631bd6f0ba680d01db668ccda6476438bbf955e43049c87fc66de8e260b992e5d1b04ea633248dcfe0f331698eb21aff77f471df6 MISC metadata.xml 716 BLAKE2B 433c3fdc53e3748b67a65d62ce8380044a4c5456191a14cc723e614d90da63b2e4bf4ff6d8f1fd9a7595041f6380a17c502d3bb5f17d8d0c08e0b7b1205ac8f5 SHA512 5130451d65a122a242bc9c553efed4289f54aa3e7bd56c1b3ac636ae902ce0df4502d9bbdca61e58c4a94bb4ea8adb00d94baacced1e487ed563c6c489377587 diff --git a/sci-libs/hipCUB/hipCUB-6.3.0.ebuild b/sci-libs/hipCUB/hipCUB-6.3.0.ebuild new file mode 100644 index 000000000000..ae5c0e0c441f --- /dev/null +++ b/sci-libs/hipCUB/hipCUB-6.3.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="Wrapper of rocPRIM or CUB for GPU parallel primitives" +HOMEPAGE="https://github.com/ROCm/hipCUB" +SRC_URI="https://github.com/ROCm/hipCUB/archive/rocm-${PV}.tar.gz -> hipCUB-${PV}.tar.gz" +S="${WORKDIR}/hipCUB-rocm-${PV}" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="benchmark test" +REQUIRED_USE=" + benchmark? ( ${ROCM_REQUIRED_USE} ) + test? ( ${ROCM_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND="dev-util/hip:${SLOT} + sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}] + benchmark? ( dev-cpp/benchmark ) + test? ( dev-cpp/gtest ) +" +DEPEND="${RDEPEND}" + +src_prepare() { + sed -e "s:set(ROCM_INSTALL_LIBDIR lib):set(ROCM_INSTALL_LIBDIR $(get_libdir)):" \ + -i cmake/ROCMExportTargetsHeaderOnly.cmake || die + + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + local mycmakeargs=( + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_TEST=$(usex test ON OFF) + -DBUILD_BENCHMARK=$(usex benchmark ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + # Expected time on gfx1100 (-j32) is 85s + # hipcub.BlockShuffle fails in parallel tests, but adding -j1 makes tests too slow. + local CMAKE_SKIP_TESTS=(hipcub.BlockShuffle) + cmake_src_test +} diff --git a/sci-libs/hipFFT/Manifest b/sci-libs/hipFFT/Manifest index 84e65a05f5d8..cb0d45c2d7b9 100644 --- a/sci-libs/hipFFT/Manifest +++ b/sci-libs/hipFFT/Manifest @@ -6,7 +6,9 @@ AUX hipFFT-5.7.1_hip-config.patch 1256 BLAKE2B 240423151a9eede7398289049294c2832 DIST hipFFT-rocm-5.1.3.tar.gz 89397 BLAKE2B 3c29d5d660e9f3db8afd8c9e524296c29f50faf06a5d6a58ec628b5cc5ddb47ac2b99f137c7bc5090a311189b44014ea2f6f1f7547d22506f5ba18f837fbeb68 SHA512 8d7a90630cd8bfeade9cb026e45b6b6c1ab9c96dba424559a7ced8c881cd45c1cb06d3f7e82c8e6558e4ccb8bb41b6278842057a0cf0957b0644b1139f2c9706 DIST hipFFT-rocm-5.7.1.tar.gz 102616 BLAKE2B ee8d6dcb7924c8989987b02533126c4e4419d8dc83067a816f2253efe4537e094f1665d95699d4bf27f30cd13f3fc5df7d3b0062c267ecbdcbb3aad961fab6f6 SHA512 4bfd812fa1e949574b4170833755a435f47e893f0615b65d8d273af6e8f89ea4d28632a208de20321e834c8bc237b11816e2af0363b60adca9af736b9bc87465 DIST hipFFT-rocm-6.1.1.tar.gz 170796 BLAKE2B 8c957db8e7e2548918539c94262d912c2f33b70d8482b727c78c13323bdb6822c3e95439854b8ab4fed970d21ed0c6fd2ab8c2805db59d3a3606d73e7eb47468 SHA512 531be32b12ed5f0f2352e3e0a893ca988a4c8492e66fc9347b6754ae4e769549d6f638a760de35cb15ef2d301ab4200a76c832d769ecb0cd55e9e42f839a1876 +DIST hipFFT-rocm-6.3.0.tar.gz 267945 BLAKE2B 33d9013ddb20b37b17a05dc647e74eaccede7e952723a177cb0f1e54f2b25cd6a76b1a8b00f419cf197e495dd654b04f418d28ca1023ea4bc88f0ccf8191d6c0 SHA512 a210e044a87845a861c127529143ea8517f5eef30a07007f43bd29a85b5c2999bd6002d12cd2a06c1c8b469ea3d52c081bbcc5146c5fc585df8505ddfa6a3e06 EBUILD hipFFT-5.1.3-r1.ebuild 1055 BLAKE2B 421cdf532e119730b6d3115b40d304b24156b0724f80188dd6059e0bcc017b66744bb66c52e520349e5423d80edd6c9c7eec57476a7553cfbef3965777c51caa SHA512 fe8dfd3e06dcec747dd182bd9eba449f5947d72214d2865c2789cfa0ded17e9394762d8e4a4b307de45169461cbbc6facaaa188f5f0c8b68a9b48be77c297a2e EBUILD hipFFT-5.7.1-r1.ebuild 988 BLAKE2B 8a15335790603e3499c1824bfc0dd5aa4fb305320bacc37dc17579fab895b1d7dbfca8da3a47efdf8a8fc1f32d7eca72db24d59fc764fc5c09997e2e1a232ff1 SHA512 7af50918064c2792e194ad9da8e00b96c84f275c2f38f8ad831109024d16e92c0aaad059e4da7bb3862368e1b776b416628b743e5ff7e7831fa9253cce11f645 EBUILD hipFFT-6.1.1.ebuild 936 BLAKE2B 180d9f0d4d9f83d8b161f1d8d8b7ac83bb6ab9a1c7accb28b0957a24dd72076d0cd02b2e718c1ed7fe9794df7054c706ab591c0af4c7126a1e0441214906228c SHA512 6911033e816d9c914be257781d778914996b21dbbcfaf9e58b8435e7a995dfe092c95138ae2da6d3a9fae667e0a18272af2a9e38971a6c84aa212727ed1da8b3 +EBUILD hipFFT-6.3.0.ebuild 936 BLAKE2B 180d9f0d4d9f83d8b161f1d8d8b7ac83bb6ab9a1c7accb28b0957a24dd72076d0cd02b2e718c1ed7fe9794df7054c706ab591c0af4c7126a1e0441214906228c SHA512 6911033e816d9c914be257781d778914996b21dbbcfaf9e58b8435e7a995dfe092c95138ae2da6d3a9fae667e0a18272af2a9e38971a6c84aa212727ed1da8b3 MISC metadata.xml 714 BLAKE2B 092bc9b24f4f4471096402455b42f65bc7850a46a08dc1e5721d25d630a9dbfd3ba9e770e7c529187cb483161a47e6fd0bdbd617e54b80280704c58a6c6256e8 SHA512 4da0b797299b620d14b2f1ce5dd2c7adcad555dacf11a5f1aa991773895730330c381759e29f43b2a2bbd3d3f50995b1cbb654fdd0d2e8b622db1e1385b9a8d1 diff --git a/sci-libs/hipFFT/hipFFT-6.3.0.ebuild b/sci-libs/hipFFT/hipFFT-6.3.0.ebuild new file mode 100644 index 000000000000..8cc68e63e149 --- /dev/null +++ b/sci-libs/hipFFT/hipFFT-6.3.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="CU / ROCM agnostic hip FFT implementation" +HOMEPAGE="https://github.com/ROCm/hipFFT" +SRC_URI="https://github.com/ROCm/hipFFT/archive/refs/tags/rocm-${PV}.tar.gz -> hipFFT-rocm-${PV}.tar.gz" +S="${WORKDIR}/hipFFT-rocm-${PV}" + +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +RESTRICT="test" + +RDEPEND="dev-util/hip + sci-libs/rocFFT:${SLOT}[${ROCM_USEDEP}]" +DEPEND="${RDEPEND}" + +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=( + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_CLIENTS_TESTS=OFF + -DBUILD_CLIENTS_RIDER=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + + cmake_src_configure +} diff --git a/sci-libs/hipRAND/Manifest b/sci-libs/hipRAND/Manifest index d521bf64ca13..96b7e5783aea 100644 --- a/sci-libs/hipRAND/Manifest +++ b/sci-libs/hipRAND/Manifest @@ -1,7 +1,9 @@ DIST hipRAND-rocm-5.6.0.tar.gz 477597 BLAKE2B fdc88ac7076ab6b31ba794f9274881323fba32295bab5b90e38d8c8f336e0255b7d20dcba6e334b7bacd8b67eaac8a3ac6e11e3d490e7c95a973d16c9598922f SHA512 47d0cca92b458f8ef682b3c15fe4ccc5201370b1458e541080dc2150e98256962b78806c20b26d789b232d420eb305639fa50180e379ba123851d35d24d40cb2 DIST hipRAND-rocm-5.7.1.tar.gz 478352 BLAKE2B 5f435cf53d213b1d95ee8b766df2c9bc4b4d590ccf63fe867bd033eeb4b7fef67e2bde22242525686a8dee59fd811363857312481e9cb3575357c612ab519a41 SHA512 b3c51728c1d7cc37760f49f36ab7765c166f105bc5b1b6ce65ac4a1de9bb70f8e2c10f5c41f89040288b09c9257d913d745a416bd4785b71f170a4f57e1f95e2 DIST hipRAND-rocm-6.1.1.tar.gz 119063 BLAKE2B dc314d8b09c15351075594335d14f65024be54597e7cbdfb7671ebea29fa208c9a33530a2d406a8a2a9d8738f0aae7e9fc25d8c39304ef2ef27aaf8b327b5975 SHA512 4c350c8a75e6b4064e22cd73679f66e5caf28f7922fc47ef9670c1023b58b36bf3a2a35580463ee7c89e26ed924aaaa68166a11f64823b99f2f8302f80d6e87a +DIST hipRAND-rocm-6.3.0.tar.gz 125500 BLAKE2B 80b64692c5bc8dc1cb6861f98c927d14215c1115dfb69153cb2d69d17dbe7a8e53c9985d3457762740866f6f773999ed8fc91c70133e8996f50a1413b064bf8c SHA512 47a2b21618ee3f0c91df7a7b707473ef2f82ee75f4084e8acc07e90cf0d668c7903ab4fe44fbb105a476a4730782a9de30446f620e0ba0cfca62257e8ac0fffd EBUILD hipRAND-5.6.0-r1.ebuild 815 BLAKE2B 568be23ee847e47d5aeee9cb63b318961057a6787140ef54ce5bce289703b0b611cb52f501bc6fc73c2365549af482ba7483a6edda9e91b5cbe419f5b9cfb07f SHA512 8e8eabb6d74cdaffb3e8c9c41fddb166e8b49317285c4f79574253854b70c8f7b43689df767a3b8117f0591a9ea9f2a0652c1b7696b8cbfb04481a41c61de37b EBUILD hipRAND-5.7.1.ebuild 815 BLAKE2B 568be23ee847e47d5aeee9cb63b318961057a6787140ef54ce5bce289703b0b611cb52f501bc6fc73c2365549af482ba7483a6edda9e91b5cbe419f5b9cfb07f SHA512 8e8eabb6d74cdaffb3e8c9c41fddb166e8b49317285c4f79574253854b70c8f7b43689df767a3b8117f0591a9ea9f2a0652c1b7696b8cbfb04481a41c61de37b EBUILD hipRAND-6.1.1.ebuild 790 BLAKE2B 1eac4994b7c6dc84110e1bf3163f82ee201173588002a1524f413290b7de6bf1c7289af0e07e91d4a3658d0288feed0b5e360f5ca89ee0ee0e620fb2591fca9c SHA512 4dec1a6d7b6a180dfe6a44b5cdd75775fb6599b696ca39197edd6ac46e9a64f286ae0db8345f14c5c2fb25a0f9a8165ab701007d9cfe86ea8bb2237e478e9896 +EBUILD hipRAND-6.3.0.ebuild 801 BLAKE2B 874f9628a1fd54556603289ef36c83025e2981d0c0de972849826b2e3befe49c9cf806f6b85d8810afa2127f5220f7dce41b7b151018cc9f21cfbdd4d9410d32 SHA512 c94b9e7fedc8c8f40b9889f66f3c3bb8db578e0c7720d9e163691429b5b023a7d8586dd47403ad128b96608a706a96fbd960b1942d76d9c91e8e303f27acc727 MISC metadata.xml 586 BLAKE2B 98f8745143ec4d1c89f1e12747e1f1abe97ec74bab97f2afeea257f3a900b87c76efccebb39abd500f36ff88eab2284ec73a89db90ff0c5e616dba912f084f11 SHA512 71778ca99fb19bf30fc2f301f188e4ded754eafd2eba8abe1143cbecbf143d7f3cc8ce908592dee9e7cdc242d4f05f4a2d10739893357abb0a30362ec4448b85 diff --git a/sci-libs/hipRAND/hipRAND-6.3.0.ebuild b/sci-libs/hipRAND/hipRAND-6.3.0.ebuild new file mode 100644 index 000000000000..1bbe4255434b --- /dev/null +++ b/sci-libs/hipRAND/hipRAND-6.3.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="CU / ROCM agnostic hip RAND implementation" +HOMEPAGE="https://github.com/ROCm/hipRAND" +SRC_URI="https://github.com/ROCm/hipRAND/archive/refs/tags/rocm-${PV}.tar.gz -> hipRAND-rocm-${PV}.tar.gz" +S="${WORKDIR}/hipRAND-rocm-${PV}" + +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +RESTRICT="test" + +RDEPEND="dev-util/hip + sci-libs/rocRAND:${SLOT}[${ROCM_USEDEP}]" +DEPEND="${RDEPEND}" + +src_configure() { + rocm_use_hipcc + + local mycmakeargs=( + -Wno-dev + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + ) + + cmake_src_configure +} diff --git a/sci-libs/hipSOLVER/Manifest b/sci-libs/hipSOLVER/Manifest index 94f827df39fb..1098df279208 100644 --- a/sci-libs/hipSOLVER/Manifest +++ b/sci-libs/hipSOLVER/Manifest @@ -1,6 +1,9 @@ AUX hipSOLVER-6.1.1-find-cholmod.patch 965 BLAKE2B 0d4f37dbae67bf2605a981f3a01c9c4fe681953d59c4b17c4abbe9953154dafd94a9e66b710f4384035521e6b2e0d98ebaa63d41a44ba263e53f71725ca7e2f0 SHA512 e22bb5470ed857faa7aed8522fcc67f92994260386f302af6112dc6a7bb8f9ca20b22fe1261f4f7dec87c0e04138a8a1f64894556db003e2fccf924dd5cd4c7b +AUX hipSOLVER-6.3.0-find-cholmod.patch 2171 BLAKE2B 5e85019a3c25dc535ac9ce1d03a55e82b015e10e3c28b4cc0850003cbf8453c391f008ccf4549d9b9dca46b1b4662eabb13ff33ec77c0b27544d34693d69137d SHA512 c41a1c9ba2d1d49f4ba81267bf5e35d319a0d54049f26781e11d0a7ed170aef7d56c82e6066ddb137cc60874b59611f530e2355558171e3e6c0d480ff32378b6 DIST hipSOLVER-rocm-5.7.1.tar.gz 1516012 BLAKE2B 8d0966d34877978784b9872150283719602465c85036c3a74a72a2fe7c516b6029af3f4aefbc022088b2cf37bb1e0a450c0221aef0ac3227018020de340adfcd SHA512 f9c14b51ea582f17d1b323c7d066d9c0c95f4250f08515768d7a11067774fd2841fa3dec7354d3c98e56bd8dd53cff3b993c68b1d7df4b24f562b3afe9c4625e DIST hipSOLVER-rocm-6.1.1.tar.gz 2553462 BLAKE2B 77731b876a7fe5f80f79e5af5128a84d8a5d4dee6d511f3e1cf4964845b636380f7f1e19f07e84ed24b98e99c3bdfbba623b97b48cf4ea1bc09a4c1bd3dccaed SHA512 4f28ecd807717013318f293df8c48d7674f64fd3a538c2b827f4188a00a36165f48277d5ac50e806461d52a8a3b6d626cab91ff7c6687b17fea2580461e08de9 +DIST hipSOLVER-rocm-6.3.0.tar.gz 2575560 BLAKE2B 293a149e162e74bbf5ddc143bb5bb3fffe52fbe0a53f7ad2d3141fb91cd2fe1108f6a12c976e5b4b91de98b146a84f7290f073d6226214e2dbc13ccd1ddca26c SHA512 a648472695c917e3eab49414ceb6eb9a1c4a6dc3f667907f7d9a67f873d8826588dad823f74b8498bc81c23741a52b745451d13e78079e86d95b36da9b789a7b EBUILD hipSOLVER-5.7.1.ebuild 820 BLAKE2B 2e172aea78616bb75696b6dcf81e7ebee8902ff15335a5d7d36e9728e74eb20c320124491bccfb6cef9b4804e14fd7c58accacce500d13c043f6a104407f0c77 SHA512 83d99abbb856cfe7ce029fd8c7529fdd07be56e60a4ce6f00b662c5a6c3c829e99e66081fa907e61ee673320991fcbccca26b493022cdcae5e6d12dac04b62ea -EBUILD hipSOLVER-6.1.1.ebuild 1009 BLAKE2B 3640afa3a791393c5fffe3ed8bfb3a4ca1217e1410929028d828f32d09eec158d23f6c670764b4861558f12f73e98696152a722fcef1dc1e67b11d0438f37240 SHA512 56a1115e0b9eaacb723054082a3272f23e001c77f43d191a699925a327d99c8e0503233f2b02ebbbb54a1d3873fc53649b904fdca63274a125e825bad005ed3c -MISC metadata.xml 727 BLAKE2B d10c0be13cf9f705b7c7c0b223b91da6f0d06faccaf5a7c5e8a6ed03e0c3d32e943a742f1a9feb9452f21f36de99f1b74b3ec91ad2d32a6c7c94088eee66ed22 SHA512 14521a8ef7d65220b9b5ee23c7600f11a8329adb23993bbbda70ccfeb3cc4de5eb25713cb523890f2868983a409ae2a735d4191457b1fd8647b01751193e2cde +EBUILD hipSOLVER-6.1.1.ebuild 1017 BLAKE2B 7cc5d1b9f2e22bae160652364884bfea62fe106661df928cf3b21c91db898c88a169157eba24bda216a51f5d1d2a99e4f72e874ea0c25913a698ce4ccafb8d23 SHA512 82ceee4649fdb98531331325a9d9db11d17ab4782861aa8d89e1f07646e517a0be896190cc0f279f3f72c35a20d9465bddba6ed16db7270a48f0f23fa8df2d73 +EBUILD hipSOLVER-6.3.0.ebuild 1017 BLAKE2B a85de77721e5ec40fdc36502bff6fd256162231fcba6880e4145bb0f15baea7a9760e8f9e4b156bf3a80c799136cc9f3049e6239a9675691e375c7d7b8d44003 SHA512 a0a23cca7699c4bdda606d3f1fcc5851f61eb3e96a8beeb357ed33647ac34616ea2e33aabf3865e428cd28d371792762c6b80afea0069c53a12463d99b095a3d +MISC metadata.xml 711 BLAKE2B 4b6209b802e7fe231e87d5fd020c864cbbc3511ae471648bfb0ba3afb294c17a3a279d243e5b5531626aa7e0b3324099a073738ec3656c6a918d6f7f299913ee SHA512 54b14188dfc59bbcf4fd21d44b41508b01ee939c7591fea77ae601c337c7812b679aba3201e97ff5760baedc144b9ce6ad98855e1fd8976c60fff366cd0c7f7c diff --git a/sci-libs/hipSOLVER/files/hipSOLVER-6.3.0-find-cholmod.patch b/sci-libs/hipSOLVER/files/hipSOLVER-6.3.0-find-cholmod.patch new file mode 100644 index 000000000000..32c049c5947f --- /dev/null +++ b/sci-libs/hipSOLVER/files/hipSOLVER-6.3.0-find-cholmod.patch @@ -0,0 +1,56 @@ +Builds with -DBUILD_WITH_SPARSE=ON are broken +Upstream bug: https://github.com/ROCm/hipSOLVER/issues/347 +--- a/library/src/amd_detail/dlopen/cholmod.hpp ++++ b/library/src/amd_detail/dlopen/cholmod.hpp +@@ -24,7 +24,7 @@ + #include "lib_macros.hpp" + + #ifdef HAVE_ROCSPARSE +-#include <suitesparse/cholmod.h> ++#include <cholmod.h> + #else + + // constants +--- a/library/src/CMakeLists.txt ++++ b/library/src/CMakeLists.txt +@@ -42,8 +42,6 @@ prepend_path(".." hipsolver_headers_public relative_hipsolver_headers_public) + + if(NOT USE_CUDA) + set(hipsolver_source +- "${CMAKE_CURRENT_SOURCE_DIR}/amd_detail/dlopen/cholmod.cpp" +- "${CMAKE_CURRENT_SOURCE_DIR}/amd_detail/dlopen/rocsparse.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/amd_detail/hipsolver_conversions.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/amd_detail/hipsolver.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/amd_detail/hipsolver_dense.cpp" +@@ -52,6 +50,12 @@ if(NOT USE_CUDA) + "${CMAKE_CURRENT_SOURCE_DIR}/amd_detail/hipsolver_sparse.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/common/hipsolver_dense_common.cpp" + ) ++ if (NOT BUILD_WITH_SPARSE) ++ list(APPEND hipsolver_source ++ "${CMAKE_CURRENT_SOURCE_DIR}/amd_detail/dlopen/cholmod.cpp" ++ "${CMAKE_CURRENT_SOURCE_DIR}/amd_detail/dlopen/rocsparse.cpp" ++ ) ++ endif() + else() + set(hipsolver_source + "${CMAKE_CURRENT_SOURCE_DIR}/nvidia_detail/hipsolver_conversions.cpp" +@@ -149,14 +153,11 @@ if(NOT USE_CUDA) + list(APPEND static_depends PACKAGE rocsparse) + endif() + +- find_package(CHOLMOD QUIET) +- if(NOT TARGET SuiteSparse::CHOLMOD) +- # try again with the custom find modules for older versions of suitesparse +- list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/suitesparse) +- find_package(CHOLMOD REQUIRED) +- endif() ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(CHOLMOD REQUIRED IMPORTED_TARGET cholmod) ++ ++ target_link_libraries(hipsolver PRIVATE roc::rocsparse PkgConfig::CHOLMOD) + +- target_link_libraries( hipsolver PRIVATE roc::rocsparse SuiteSparse::CHOLMOD) + set_source_files_properties(${hipsolver_source} + PROPERTIES + COMPILE_DEFINITIONS HAVE_ROCSPARSE diff --git a/sci-libs/hipSOLVER/hipSOLVER-6.1.1.ebuild b/sci-libs/hipSOLVER/hipSOLVER-6.1.1.ebuild index 99c4a9c0ca41..1a010790ca8d 100644 --- a/sci-libs/hipSOLVER/hipSOLVER-6.1.1.ebuild +++ b/sci-libs/hipSOLVER/hipSOLVER-6.1.1.ebuild @@ -22,7 +22,7 @@ IUSE="sparse" RESTRICT="test" RDEPEND=" - dev-util/hip + dev-util/hip:${SLOT} sci-libs/rocSOLVER:${SLOT}[${ROCM_USEDEP}] sparse? ( sci-libs/suitesparseconfig diff --git a/sci-libs/hipSOLVER/hipSOLVER-6.3.0.ebuild b/sci-libs/hipSOLVER/hipSOLVER-6.3.0.ebuild new file mode 100644 index 000000000000..ea8bafabf7c5 --- /dev/null +++ b/sci-libs/hipSOLVER/hipSOLVER-6.3.0.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="CU / ROCM agnostic marshalling library for LAPACK routines on the GPU" +HOMEPAGE="https://github.com/ROCm/hipSOLVER" +SRC_URI="https://github.com/ROCm/hipSOLVER/archive/refs/tags/rocm-${PV}.tar.gz -> hipSOLVER-rocm-${PV}.tar.gz" +S="${WORKDIR}/hipSOLVER-rocm-${PV}" + +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="sparse" + +RESTRICT="test" + +RDEPEND=" + dev-util/hip:${SLOT} + sci-libs/rocSOLVER:${SLOT}[${ROCM_USEDEP}] + sparse? ( + sci-libs/suitesparseconfig + sci-libs/cholmod + ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-6.3.0-find-cholmod.patch +) + +src_configure() { + rocm_use_hipcc + + local mycmakeargs=( + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_WITH_SPARSE=$(usex sparse ON OFF) + ) + + cmake_src_configure +} diff --git a/sci-libs/hipSOLVER/metadata.xml b/sci-libs/hipSOLVER/metadata.xml index 9aa1438b519c..426f234221d8 100644 --- a/sci-libs/hipSOLVER/metadata.xml +++ b/sci-libs/hipSOLVER/metadata.xml @@ -14,7 +14,7 @@ <name>Sv. Lockal</name> </maintainer> <upstream> - <remote-id type="github">ROCmSoftwarePlatform/hipSOLVER</remote-id> + <remote-id type="github">ROCm/hipSOLVER</remote-id> </upstream> <use> <flag name="sparse">Build hipSOLVER with sparse functionality (sci-libs/cholmod)</flag> diff --git a/sci-libs/hipSPARSE/Manifest b/sci-libs/hipSPARSE/Manifest index e64950fc80e5..915da68aa7f2 100644 --- a/sci-libs/hipSPARSE/Manifest +++ b/sci-libs/hipSPARSE/Manifest @@ -1,7 +1,10 @@ AUX hipSPARSE-5.0.2-remove-matrices-unpacking.patch 3940 BLAKE2B e3815659b32856206bc3291d09f59514e59dc06c3c33454c24afb68955d6a55411c71535693325be06bdb097e7cedc558ec2b8fa6a2d3886d774d79e038557ad SHA512 39db7d6fe0a085ef5a92f6ec1613376ffd9152d8d31a78f0864c971e7b61d4dfbda2e170940c82dae286d024333621722b249d5bd601399e76e68e8029fc7e81 +AUX hipSPARSE-6.3.0-fix-filesystem.patch 976 BLAKE2B e17bd3ec5263deb7a5dacd7051c31134f203682d1f5f4b7b79394babee0e0b68bfddf57d123ee752c5e2c57a26cb7559dac7bf15103396366948c10a4e693ede SHA512 798efc0858b09512e04dce020dd380808c87f3fa0d2b87f52c2c367aecc0562a8e1b2cda9cf6817604f2a9a1a6a68a3cc879d0e73e8658729599899a10ff5f71 +AUX hipSPARSE-6.3.0-no-gtest-in-benchmark.patch 837 BLAKE2B 038e43d4e62fb68f714c03dc1e9277cef03f635355721c95e1613ba2e7e85657a41c368732d9edd12657ff39626f6a7687802827230da8df121623e68af17e91 SHA512 8082aa0e3020cf3d37dbd37c251eff84e130757fb3b352dd43e9b738b8bec9e84c57ba1c530af3675c5d1c88ba48ae9e48db6560b4030b916dfe7b0289d13185 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 @@ -23,5 +26,6 @@ DIST rocSPARSE_sme3Dc.tar.gz 42483568 BLAKE2B f0d16b58f6ea28e67727637697a812a0b1 DIST rocSPARSE_webbase-1M.tar.gz 11360460 BLAKE2B 01b1d06adb5fb32fa402ed888d25a7e52a34779b078fc2e21c60e688d03579bb4ca8694f5ee4a824f7859952d55590a1fd9449dc80d6fe894d7b662b918882d4 SHA512 6401a965b8f6dd5392879956fde3c94f77fe1801a4a43428c03b6d639031575c647eab47b1babe53f4ecc2c3b8fc183e8339536b78dcd0d94ce62bfedd87c161 EBUILD hipSPARSE-5.1.3-r1.ebuild 3603 BLAKE2B 648b6b8edc22efc9d95713e935e8e8a9cff2b086be1eae1e503f537e6fb656f76970aa6919963d2c3febf8ba262555604102cb89b8e3ad3900379e6889f44b5a SHA512 a5c206f818df8b9e64253b136d819cf385769b496271a9b8049a9d2d0ba3305f2a2a46e6c1e52f61a8b3e862e660ec7f8b16597489706ed3b5aba22b30e853f1 EBUILD hipSPARSE-5.7.1.ebuild 3559 BLAKE2B bd8957a817978ede880a1c7d924994967aaa27474c4da9152980ba1c1463d636e841a025b549ab10e4a0b376d61dbbb8a51f10cdbbe042a33c5168462691283d SHA512 9223c6d530e1951732de1ab9d24522bea70869bb1f61f6b86d1b283692416c8c5d6d8d5302c429a74fa9b587c0953d3c836ca39488cea21a83e08a0d3f286700 -EBUILD hipSPARSE-6.1.1.ebuild 3139 BLAKE2B b48b55e72238363894680ca57897379ddb77d12f441426912c85ae9596024781cba6d6049b0ecca257588286930aac65fd372791fcb6a53a034e70bae0dfadbc SHA512 cda9e8e6584c86fbc879fa8092d9ba933081527b52cac34c5f84a96252aa606e9170166b61e79748aef728f901434cdde4cfe7a30aedc75487ec66775f89e49d -MISC metadata.xml 716 BLAKE2B f070df7c312bbe29cf150da488b6f862eb4768ff01385b34c613864da3bc7d44c3adf506e7f92c7beef729c538f176194ec1cb828fe5c97203591873f0aa706a SHA512 cb2bf1a7e03444af8bb5ca08ea3544c974a577c3bab2a194fcaa45750e9cecbc68571adc288b457de01fa84615738130ef8e2a3d002219d2870963d7e53e0570 +EBUILD hipSPARSE-6.1.1.ebuild 3301 BLAKE2B f299978cb0999cfcace7af71164cbb4893260d194d2d331d60f2a0faaaf804f20f88f877956f58374f4c6d212f108ae5f5aa044de426f5ad55f7dd84a083a645 SHA512 e17a904c40af97e304adfc2abe42843494a18b6dfdf0e4d5de2e63e5549a081a7a456f08473535e729815044a6a1b1a7ca05dda21222b885912c9d686a48e534 +EBUILD hipSPARSE-6.3.0.ebuild 3816 BLAKE2B 028054220dfee983f29ee3d079e73614ee96e0b2e6aba71d9fc1d121e30fc950ca3bb1f617bf22c9eccea8b55afa28fa5a0f52b84a9c12ee1f6abe5024e89853 SHA512 9df1da0d5fe4e3c7e75ea1607530b7e1fa8bcca7c2c3b0d3981205612ef5d4a6d9e4f1572b9b566add08d6ecceda7f6ee6bfd114cf12f3fcf2b69faf6f462ad9 +MISC metadata.xml 786 BLAKE2B 5cbf3033ba3d8a6d086ff13019ad9af8bd3262325fa493505a37ea24c5a31edee5a63bf2ab86514d1e815ff593ad5868432510cafc10edf32bebcc6d4030fbd4 SHA512 891e14524e3903284a7fec56b4be4bf50ef08e092b84e8a2a82d58d62446a7724768103d88793d43f09d7846c2b69da50731aa0d2c55598aa8fac4aa65613522 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> diff --git a/sci-libs/miopen/Manifest b/sci-libs/miopen/Manifest index 5f2d233001b2..8264574e838f 100644 --- a/sci-libs/miopen/Manifest +++ b/sci-libs/miopen/Manifest @@ -10,11 +10,16 @@ AUX miopen-5.1.3-include-array.patch 343 BLAKE2B 993a8f3e301f4c16088ca216b2d820b AUX miopen-5.1.3-no-strip.patch 608 BLAKE2B 3173d95219542a48c6dcd2b87e7157dcf483ff714c3d1c1c47aab8fc8af7b1fd4f6ac52b9d8e892cc25bff973597f4a05426fa4714b0764733b810867af59cfe SHA512 201357718203ee9a4062362541c483e069321b825708c6aa0e8892cc7722bcd520808797307e320df34c4fbf0003198f7a46717d5ff3819b1e2c3a5a3a045725 AUX miopen-5.7.1-fix-miopendriver-gemm.patch 2818 BLAKE2B fd839ec500b297272f70cc1ee2fa87e74b8a70197cc72291c99c1372c9eeb7f2af33de8067fa1dc42d873bd96f93615074521c00f00b0676835c912ec0e2b73b SHA512 22c852082e0de5115acfa208c325cdb7870823dfe3b5984887c848b702a2fc5072c1d1944b218e27776f0e116d391c6039c3f8485ca65282e9699f3fc1885985 AUX miopen-6.1.1-build-all-tests.patch 548 BLAKE2B be700c5401e288a4da5423047303a316ea82fc928c88e46be3da9cd41ac473bf6e232b68d1791e2fea0534c8233e4c2431c9a7536a24125651ce2f55aea1e667 SHA512 c8df1b24d61c9b7a132b77bddacb3d614653257c61b8b5936ea666a3e130b76a183618d5384abe5b871ae144bf9b2f2cf622850a59e7d5c53cf89adbf9dfa32b +AUX miopen-6.1.1-fix-libcxx.patch 7454 BLAKE2B 143e69445abef40e30879ad8e38730b585a1acb17c7fee711dcc9f957cc42805ccd79457aabfd77587c790b8bb99b87c7b9d39525977b5e940a665134bf49856 SHA512 7605ab2db5c2f6d7a06ffd073f8b6bae77f04c710ffa08364af079817e5686c18e468159afec43832029c9b099a34678bd4269f10f31c141beb44ff2a59fea76 +AUX miopen-6.3.0-conditional-ck-components.patch 2393 BLAKE2B cf41a17b7078664042d851ddf99ed9a702f30f6b2d9f2af9f8c164066e8cc127cd7bf99d950e4cae4d8718887c96632171804a17fd0a2dcb36a73e24299b79c0 SHA512 281c9f64c924c1cd7acf808678f52b7b32417b2b6532c0d9413b71e08c85392b296cde88a9fa50f3f18a91091a280cfaa1820ac389196d9637b0a57e4807e090 +AUX miopen-6.3.0-isnan-include.patch 636 BLAKE2B 78eb4506461059191ef7999ea8252a0c50e99317ae32d25ee19f26cdc8086cca7cfbffa2b87cde8fc298696483961067929e5c68e5851582d8e94256ab08d770 SHA512 91154725cc22b52f5d6f72fe6bf11f496b033a16889f08041e81c4a814f5095ae75dcad1a00e8e93b7102c712f8b9f5ed58efc86f0fb949e85db0560ecb83468 DIST MIOpen-5.1.3.tar.gz 88118329 BLAKE2B d24722ffc5f5dab6d6a1de2ce34193ad2f25c9a2562e38c52e010a29870f01d9ea1c56970ba0601a088c8286e97958ee95d0da27fc8082126dd2ebe5ccb36b70 SHA512 a14e28cfcb12e5061e0e7b999ef3e67fa0a0e897e31bc50e7288b8a23eb1791312e33d3b697021c2b654ccc065ae1b046c1cfd77ba8e04b0f3e87e9cc0626dcd DIST MIOpen-5.7.1.tar.gz 100751593 BLAKE2B c5f847fe4374ab22737c281a65401125012328412d584fc09244b431ea6265d6d5028429115ee15fa8b04cbe0edd020e4e7ac8deb22561183ed76cb8c3d4d9d4 SHA512 3354b3b154f29a6337403abc5a71ec47c0b2558320c5a1b0cbfbbdb370c4fada2db12d4a19a312b5e30ca2e2302ee50ece3390603e84d132b2212a168e9523fa DIST MIOpen-6.1.1.tar.gz 101935496 BLAKE2B 5aadaa5eefa1b22dedfe87deb36f8acdbe57962cac8b7b6b20bc76f136ef29f0441e48112010280c2e674a1ae9fd202ca3e07be47cf4a4bc797234d6dc618be5 SHA512 b8860583919bf2f3e0da7ace30fdb0595ab45b85a367be3737e0b15a22a5565b8d6660c652ee070f21c36ac7d17ef3ba8e2eda7ed89bd6a0c65a4df799626d1a +DIST MIOpen-6.3.0.tar.gz 104152308 BLAKE2B 46c238314393599a1bd4d3c49b0c95386b36cbee1831bf442ab127082b4c740116e81cf643c773627125b59c3974a2344753939b4287aa4adbbc51e4c4833988 SHA512 14ca2967ed6545ad68c362128be93b8e6a9d4aa69e16e989b187463d15351eca2fc437d07e88c41f693138131a7449add607333c698e24efaf0207077e15ae55 DIST gtest-1.11.0_p20210611.tar.gz 887296 BLAKE2B 8f29b7028a6dd8190a113cd93398705b23b61d88bee38beaf9dcc0dfc8a463aed7fcd3719f6f1b131d4363aa57231629aaeffa108f6558efb58416cfface6d6e SHA512 cf9e7f3fd3e31ce6677eac355fb8bfe19c5b56a8ec3af8b9417d0904cdf5da92f99f7411a08131cc9fa4fc7d38e6a71fcfac993648e47b269a74a27de7607f7a EBUILD miopen-5.1.3-r1.ebuild 3182 BLAKE2B a6ae78e487ea88d31693fcf1b96a7ce6a1cb0505311c2f101be498bcafce5436cc678ca83e10dafc27549b3121c01cbf0c5d2a35e7f6117de086879002ecc138 SHA512 2165e4d250f125f699963bc7b6f1c22598467e962c9aac1bb7eeff24d6091fa3b72a696a11e1ab80ea18710525ef00f99889cc5b972068e23340c4eb14b621ef EBUILD miopen-5.7.1-r1.ebuild 3338 BLAKE2B bbd84a39a04c4ef9e1b2dc42ff1bbe7b7e4ceda90ca0c82f416a05a55b1324727418e1c2c1446fe7a82800d23380cfb9a3e30463289a18e9af20ab10239cbfc7 SHA512 5a8ddf01d2c088325fd377499f80b3c1f84881d52596b53450f2ce07714e53a552304bd8a24aecf394a57ee039fd6f364642f93e7920d8d9df63bb7dd312057e -EBUILD miopen-6.1.1.ebuild 2339 BLAKE2B ffc1c4e15f8762046b8cf5bad5f36c311132913b92d1da4f994ad4ce2e8010ae7c12614b09e1e5b1fb5701a3cd2ba11f95592137603a64ae245084fc04e76072 SHA512 3e22489631a1116e9ab02cd9cef39964ba5be9a1af71daef2d4b002a420f607ee6358552d830f12e4bfe3ce4b869157599bd907f5bfac5ed5bad04c4f0f1d841 -MISC metadata.xml 646 BLAKE2B 76ad8db32707d804dcee5a8ff3adb66444464aa2bef2e3415326b485b67f6b0c26a36e45b30cd632b0e41e96cbcfad9c785f5145ddbf89fcdabe66456b35d22a SHA512 d7b219b8800178385725fc92fe72fe65c291a451963263271731580548e3319f2bac83e73bba66d3a6442aa6f9dfc8ff8955cdbbfd7f057825dda992e8dfe772 +EBUILD miopen-6.1.1.ebuild 2347 BLAKE2B e00b587186711d0a4d51cf354c9cac89fdf0d3a3b05be358adcbb30a1e2cf86f68ad3c4ea136d2015755d814f9f347662343e84be8d7a6aa9f7366f193fa3108 SHA512 d94bef9186d91886d3fcc9310a9d2b12dc6885efb1dc340d8c78e8cf1899a180cf4cd8db2f0749f6ffde19f10e9db23d768d3690ddc758b17b3281c02248e0ae +EBUILD miopen-6.3.0.ebuild 3562 BLAKE2B 86359acdab8fc60cf038fa829ec1c9a1a68717c3d3eb72fef93a36d106b4ca2453616ad4b4682ed25ca5658414f0a082b840dfbdf6bd82cd2d9d965315a3fcff SHA512 3d20eaf391ffe598e7707a1e12d41ae0e0383dc38b4b97a5b9848f13365547456bd504d9776a71d54798c6bfbfdfa0628f63eec1d4ad9afdb107a3c547cf9198 +MISC metadata.xml 992 BLAKE2B 1dc36cb359f2ccd2bf0eb0f5fda6140710db00346584a04c212dc3bebea553f51cf62b5749be317582422c26784190ec07164a0f06ff99c684fa1e8145a8959d SHA512 c0eec9a57ce335830b0cbfd59752905d4c06a647dd416c0434f78caf676d56ed3f9d9a706fea4e45c3cbdd40706f31fc0116ebb77dd3e8d9a3d6b905622bc3c8 diff --git a/sci-libs/miopen/files/miopen-6.1.1-fix-libcxx.patch b/sci-libs/miopen/files/miopen-6.1.1-fix-libcxx.patch new file mode 100644 index 000000000000..0ce842d1470a --- /dev/null +++ b/sci-libs/miopen/files/miopen-6.1.1-fix-libcxx.patch @@ -0,0 +1,246 @@ +--- a/cmake/EnableCompilerWarnings.cmake ++++ b/cmake/EnableCompilerWarnings.cmake +@@ -70,6 +70,7 @@ set(__clang_cxx_compile_options + -Wno-unused-command-line-argument + -Wno-weak-vtables + -Wno-covered-switch-default ++ -Wno-switch-default + -Wno-unused-result + -Wno-unsafe-buffer-usage + -Wno-deprecated-declarations +--- a/src/include/miopen/bfloat16.hpp ++++ b/src/include/miopen/bfloat16.hpp +@@ -28,6 +28,7 @@ + #include <boost/operators.hpp> + #include <iostream> + #include <miopen/config.h> ++#include <miopen/libcxx_compat.hpp> + + class bfloat16 : boost::totally_ordered<bfloat16, boost::arithmetic<bfloat16>> + { +@@ -152,7 +153,7 @@ private: + std::uint16_t data_; + }; + +-namespace std { ++NAMESPACE_STD_BEGIN + template <> + class numeric_limits<bfloat16> + { +@@ -173,5 +174,5 @@ public: + return bfloat16::generate(0x0001); // 0x0.02p-126 + } + }; +-} // namespace std ++NAMESPACE_STD_END + #endif +--- /dev/null ++++ b/src/include/miopen/libcxx_compat.hpp +@@ -0,0 +1,44 @@ ++/******************************************************************************* ++ * ++ * MIT License ++ * ++ * Copyright (c) 2024 Advanced Micro Devices, Inc. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in all ++ * copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ * ++ *******************************************************************************/ ++#ifndef LIBCXX_COMPAT_HPP_ ++#define LIBCXX_COMPAT_HPP_ ++ ++// Definitions for libc++ compatibility ++#ifdef __has_include ++#if __has_include (<__config>) ++#include <__config> ++#endif ++#endif ++ ++#ifdef _LIBCPP_VERSION ++#define NAMESPACE_STD_BEGIN _LIBCPP_BEGIN_NAMESPACE_STD ++#define NAMESPACE_STD_END _LIBCPP_END_NAMESPACE_STD ++#else ++#define NAMESPACE_STD_BEGIN namespace std { ++#define NAMESPACE_STD_END } ++#endif ++ ++#endif +--- a/src/kernels/hip_float8.hpp ++++ b/src/kernels/hip_float8.hpp +@@ -26,6 +26,7 @@ + #pragma once + + #include "miopen_cstdint.hpp" ++#include "libcxx_compat.hpp" + + #ifndef MIOPEN_ENABLE_F8_DEVICE_CODE + #define MIOPEN_ENABLE_F8_DEVICE_CODE 0 +@@ -590,7 +591,7 @@ public: + // from the precompiled header. + #else + // NOLINTBEGIN(cert-dcl58-cpp) +-namespace std { ++NAMESPACE_STD_BEGIN + inline bool isfinite(miopen_f8::hip_f8<miopen_f8::hip_f8_type::fp8> x) // NOLINT + { + return !(x.is_inf() || x.is_nan()); +@@ -611,12 +612,12 @@ inline bool isnan(miopen_f8::hip_f8<miopen_f8::hip_f8_type::bf8> x) // NOLINT + return x.is_nan(); + } + +-} // namespace std ++NAMESPACE_STD_END + // NOLINTEND(cert-dcl58-cpp) + #endif + + // NOLINTBEGIN(cert-dcl58-cpp) +-namespace std { ++NAMESPACE_STD_BEGIN + + template <typename T> + class numeric_limits; +@@ -633,7 +634,7 @@ class numeric_limits<miopen_f8::hip_f8<miopen_f8::hip_f8_type::bf8>> + { + }; + +-} // namespace std ++NAMESPACE_STD_END + // NOLINTEND(cert-dcl58-cpp) + + template <miopen_f8::hip_f8_type T> +--- /dev/null ++++ b/src/kernels/libcxx_compat.hpp +@@ -0,0 +1,41 @@ ++/******************************************************************************* ++ * ++ * MIT License ++ * ++ * Copyright (c) 2024 Advanced Micro Devices, Inc. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in all ++ * copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ * ++ *******************************************************************************/ ++#pragma once ++ ++// Definitions for libc++ compatibility ++#ifdef __has_include ++#if __has_include (<__config>) ++#include <__config> ++#endif ++#endif ++ ++#ifdef _LIBCPP_VERSION ++#define NAMESPACE_STD_BEGIN _LIBCPP_BEGIN_NAMESPACE_STD ++#define NAMESPACE_STD_END _LIBCPP_END_NAMESPACE_STD ++#else ++#define NAMESPACE_STD_BEGIN namespace std { ++#define NAMESPACE_STD_END } ++#endif +--- a/src/kernels/miopen_limits.hpp ++++ b/src/kernels/miopen_limits.hpp +@@ -33,8 +33,9 @@ + + #define MIOPEN_ENABLE_F8_DEVICE_CODE 1 + #include "hip_float8.hpp" ++#include "libcxx_compat.hpp" + +-namespace std { ++NAMESPACE_STD_BEGIN + + template <typename T> + class numeric_limits; +@@ -91,7 +92,7 @@ public: + }; + #endif + +-} // namespace std ++NAMESPACE_STD_END + + #else + +--- a/src/kernels/miopen_type_traits.hpp ++++ b/src/kernels/miopen_type_traits.hpp +@@ -26,8 +26,9 @@ + #pragma once + + #ifdef MIOPEN_DONT_USE_HIP_RUNTIME_HEADERS ++#include "libcxx_compat.hpp" + +-namespace std { ++NAMESPACE_STD_BEGIN + + template <class T> + struct remove_reference +@@ -140,7 +141,7 @@ struct conditional<false, X, Y> + template <bool predicate, typename X, typename Y> + using conditional_t = typename conditional<predicate, X, Y>::type; + +-} // namespace std ++NAMESPACE_STD_END + #else + + #include <type_traits> // std::remove_reference, std::remove_cv, is_pointer +--- a/src/kernels/miopen_utility.hpp ++++ b/src/kernels/miopen_utility.hpp +@@ -28,8 +28,9 @@ + #ifdef MIOPEN_DONT_USE_HIP_RUNTIME_HEADERS + + #include "miopen_type_traits.hpp" // std::remove_reference ++#include "libcxx_compat.hpp" + +-namespace std { ++NAMESPACE_STD_BEGIN + + template <typename T> + constexpr T&& forward(typename remove_reference<T>::type& t_) noexcept +@@ -43,7 +44,7 @@ constexpr T&& forward(typename remove_reference<T>::type&& t_) noexcept + return static_cast<T&&>(t_); + } + +-} // namespace std ++NAMESPACE_STD_END + + #else + +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -481,6 +481,7 @@ if( MIOPEN_BACKEND MATCHES "OpenCL" OR MIOPEN_BACKEND STREQUAL "HIPOC" OR MIOPEN + kernels/gpr_alloc.inc + kernels/hip_atomic.hpp + kernels/hip_f8_impl.hpp ++ kernels/libcxx_compat.hpp + kernels/hip_float8.hpp + kernels/inst_wrappers.inc + kernels/miopen_cstdint.hpp diff --git a/sci-libs/miopen/files/miopen-6.3.0-conditional-ck-components.patch b/sci-libs/miopen/files/miopen-6.3.0-conditional-ck-components.patch new file mode 100644 index 000000000000..b4332d5a1ca6 --- /dev/null +++ b/sci-libs/miopen/files/miopen-6.3.0-conditional-ck-components.patch @@ -0,0 +1,46 @@ +composable_kernel does not build some functions/targets depending on GPU. +Upstream bug: https://github.com/ROCm/composable_kernel/issues/1646 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -847,10 +847,6 @@ target_include_directories(MIOpen PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/include> + ) + +-if(MIOPEN_USE_COMPOSABLEKERNEL) +-set(MIOPEN_CK_LINK_FLAGS composable_kernel::device_other_operations composable_kernel::device_gemm_operations composable_kernel::device_conv_operations composable_kernel::device_reduction_operations composable_kernel::device_mha_operations hip::host) +-endif() +- + if(WIN32) + # Refer to https://en.cppreference.com/w/cpp/language/types for details. + target_compile_options(MIOpen PRIVATE $<BUILD_INTERFACE:$<$<CXX_COMPILER_ID:Clang>:-U__LP64__>>) +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -327,7 +327,27 @@ add_compile_definitions($<$<COMPILE_LANGUAGE:CXX>:HIP_COMPILER_FLAGS=${HIP_COMPI + # HIP + if( MIOPEN_BACKEND STREQUAL "HIP" OR MIOPEN_BACKEND STREQUAL "HIPOC" OR MIOPEN_BACKEND STREQUAL "HIPNOGPU") + if(MIOPEN_USE_COMPOSABLEKERNEL) +- find_package(composable_kernel 1.0.0 COMPONENTS device_other_operations device_gemm_operations device_conv_operations device_reduction_operations device_mha_operations) ++ set(MIOPEN_CK_LINK_FLAGS hip::host) ++ set(COMPONENTS_LIST device_other_operations device_gemm_operations device_conv_operations device_reduction_operations device_mha_operations) ++ foreach(component IN LISTS COMPONENTS_LIST) ++ find_package(composable_kernel 1.0.0 COMPONENTS ${component} QUIET) ++ if(TARGET composable_kernel::${component}) ++ list(APPEND MIOPEN_CK_LINK_FLAGS "composable_kernel::${component}") ++ else() ++ message(WARNING "CK component '${component}' not found.") ++ endif() ++ endforeach() ++ if(AMDGPU_TARGETS MATCHES "gfx94" OR AMDGPU_TARGETS MATCHES "gfx90a") ++ add_definitions(-DMIOPEN_USE_CK_MHA_OPS=1) ++ else() ++ add_definitions(-DMIOPEN_USE_CK_MHA_OPS=0) ++ endif() ++ if(AMDGPU_TARGETS MATCHES "gfx9") ++ add_definitions(-DMIOPEN_USE_CK_XDL_OPS=1) ++ else() ++ add_definitions(-DMIOPEN_USE_CK_XDL_OPS=0) ++ endif() ++ + endif() + if( MIOPEN_BACKEND STREQUAL "HIPNOGPU") + set(MIOPEN_MODE_NOGPU 1) diff --git a/sci-libs/miopen/files/miopen-6.3.0-isnan-include.patch b/sci-libs/miopen/files/miopen-6.3.0-isnan-include.patch new file mode 100644 index 000000000000..c7672e96a117 --- /dev/null +++ b/sci-libs/miopen/files/miopen-6.3.0-isnan-include.patch @@ -0,0 +1,19 @@ +--- a/driver/reducecalculation_driver.hpp ++++ b/driver/reducecalculation_driver.hpp +@@ -34,6 +34,7 @@ + #include <algorithm> + #include <cfloat> + #include <cstdlib> ++#include <cmath> + #include <memory> + #include <miopen/miopen.h> + #include <miopen/tensor.hpp> +@@ -77,7 +78,7 @@ int32_t mloReduceCalculationForwardRunHost(miopenTensorDescriptor_t inputDesc, + for(size_t i = 0; i < reduce_size; ++i) + { + Tcheck val = static_cast<Tcheck>(input[input_idx]); +- if(nanPropagation && isnan(val)) ++ if(nanPropagation && std::isnan(val)) + { + val = 0.0f; + } diff --git a/sci-libs/miopen/metadata.xml b/sci-libs/miopen/metadata.xml index e08e7753394d..07d78ddb5aa1 100644 --- a/sci-libs/miopen/metadata.xml +++ b/sci-libs/miopen/metadata.xml @@ -19,4 +19,10 @@ <upstream> <remote-id type="github">ROCm/MIOpen</remote-id> </upstream> + <use> + <flag name="composable-kernel">Use composable-kernel for GEMM-like and reduction-like operators.</flag> + <flag name="hipblaslt">Use hipBLASLt for some non-batched and strided batched problems.</flag> + <flag name="rocblas">Build with rocBLAS support</flag> + <flag name="roctracer">Build with roctracer support</flag> + </use> </pkgmetadata> diff --git a/sci-libs/miopen/miopen-6.1.1.ebuild b/sci-libs/miopen/miopen-6.1.1.ebuild index f272f435ece8..6cf70cea3434 100644 --- a/sci-libs/miopen/miopen-6.1.1.ebuild +++ b/sci-libs/miopen/miopen-6.1.1.ebuild @@ -21,7 +21,7 @@ IUSE="debug test" RESTRICT="!test? ( test )" RDEPEND=" - dev-util/hip + dev-util/hip:${SLOT} >=dev-db/sqlite-3.17 sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] sci-libs/composable-kernel:${SLOT}[${ROCM_USEDEP}] diff --git a/sci-libs/miopen/miopen-6.3.0.ebuild b/sci-libs/miopen/miopen-6.3.0.ebuild new file mode 100644 index 000000000000..45b1214c37cd --- /dev/null +++ b/sci-libs/miopen/miopen-6.3.0.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} +LLVM_COMPAT=( 19 ) + +inherit cmake flag-o-matic llvm-r1 rocm + +DESCRIPTION="AMD's Machine Intelligence Library" +HOMEPAGE="https://github.com/ROCm/MIOpen" +SRC_URI="https://github.com/ROCm/MIOpen/archive/rocm-${PV}.tar.gz -> MIOpen-${PV}.tar.gz" +S="${WORKDIR}/MIOpen-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="composable-kernel debug hipblaslt rocblas roctracer test" + +# tests can freeze machine depending on gpu/kernel +RESTRICT="test" + +RDEPEND=" + dev-util/hip:${SLOT} + >=dev-db/sqlite-3.17 + sci-libs/rocRAND:${SLOT}[${ROCM_USEDEP}] + >=dev-libs/boost-1.72 + dev-cpp/nlohmann_json + dev-cpp/frugally-deep + + composable-kernel? ( sci-libs/composable-kernel:${SLOT}[${ROCM_USEDEP}] ) + hipblaslt? ( + sci-libs/hipBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/hipBLASLt:${SLOT} + ) + rocblas? ( sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] ) + roctracer? ( dev-util/roctracer:${SLOT}[${ROCM_USEDEP}] ) +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + >=dev-libs/half-1.12.0-r1 + dev-build/rocm-cmake + test? ( dev-cpp/gtest ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-build-all-tests.patch + "${FILESDIR}"/${PN}-6.1.1-fix-libcxx.patch + "${FILESDIR}"/${PN}-6.3.0-conditional-ck-components.patch + "${FILESDIR}"/${PN}-6.3.0-isnan-include.patch +) + +src_prepare() { + cmake_src_prepare + + # complementary replacements for conditional-ck-components patch + find src -name '*mha*.cpp' -type f | while IFS= read -r file; do + sed -i "s/MIOPEN_USE_COMPOSABLEKERNEL/MIOPEN_USE_CK_MHA_OPS/g" "$file" || die + done + + sed -i "s/MIOPEN_USE_COMPOSABLEKERNEL/MIOPEN_USE_CK_XDL_OPS/g" \ + src/mlo_dir_conv.cpp \ + src/solver/conv_ck_igemm_fwd_bias_res_add_activ_fused.cpp \ + src/solver/conv_ck_igemm_fwd_bias_activ_fused.cpp || die + find src -name '*xdl*.cpp' -type f | while IFS= read -r file; do + sed -i "s/MIOPEN_USE_COMPOSABLEKERNEL/MIOPEN_USE_CK_XDL_OPS/g" "$file" || die + done + + sed -e '/MIOPEN_TIDY_ERRORS ALL/d' \ + -e 's/FLAGS_RELEASE} -s/FLAGS_RELEASE}/g' \ + -i CMakeLists.txt || die + + sed -e "/add_test/s:--build \${CMAKE_CURRENT_BINARY_DIR}:--build ${BUILD_DIR}:" \ + -i test/CMakeLists.txt || die + + sed -e "s:\${PROJECT_BINARY_DIR}/miopen/include:\${PROJECT_BINARY_DIR}/include:" \ + -i src/CMakeLists.txt || die +} + +src_configure() { + rocm_use_hipcc + + if ! use debug; then + append-cflags "-DNDEBUG" + append-cxxflags "-DNDEBUG" + CMAKE_BUILD_TYPE="Release" + else + CMAKE_BUILD_TYPE="Debug" + fi + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMIOPEN_BACKEND=HIP + -DBoost_USE_STATIC_LIBS=OFF + -DMIOPEN_USE_MLIR=OFF + -DMIOPEN_USE_ROCTRACER=$(usex roctracer ON OFF) + -DMIOPEN_USE_ROCBLAS=$(usex rocblas ON OFF) + -DMIOPEN_USE_HIPBLASLT=$(usex hipblaslt ON OFF) + -DMIOPEN_USE_COMPOSABLEKERNEL=$(usex composable-kernel ON OFF) + -DBUILD_TESTING=$(usex test ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DMIOPEN_HIP_COMPILER="${ESYSROOT}/usr/bin/hipcc" + -DMIOPEN_AMDGCN_ASSEMBLER="$(get_llvm_prefix)/bin/clang" + -DHIP_OC_COMPILER="$(get_llvm_prefix)/bin/clang" + ) + + if use test; then + mycmakeargs+=( + -DMIOPEN_TEST_ALL=ON + -DMIOPEN_TEST_GDB=OFF + ) + # needed by rocminfo + addpredict /dev/random + check_amdgpu + fi + + cmake_src_configure +} + +src_test() { + check_amdgpu + LD_LIBRARY_PATH="${BUILD_DIR}"/lib MIOPEN_SYSTEM_DB_PATH="${BUILD_DIR}"/share/miopen/db/ cmake_src_test -j1 +} + +src_install() { + cmake_src_install +} diff --git a/sci-libs/mpfi/Manifest b/sci-libs/mpfi/Manifest index cb714fbe47e6..3e5f2e7b199b 100644 --- a/sci-libs/mpfi/Manifest +++ b/sci-libs/mpfi/Manifest @@ -2,5 +2,5 @@ AUX mpfi-1.5.4-fix-tests.patch 11122 BLAKE2B 821c077eec814e0fcb98181c28702efeee0 DIST mpfi-1.5.4.tgz 261696 BLAKE2B 264453870fbf18afc0876eef72a3fc9690e9eee1da5179831a24409159abe75b88dc373e2d20b8171c846e870ded876715b2c9034ab4f0d0f0ff10e34abd099d SHA512 72ba7d8c950f4d4e2c7a3da8570cdcec08f75b73580cdf64c4cc3b24f8add23c46ccf78a6de2158e81bd77e6efabceebbae418988d536e7484356b8102e10ce1 DIST mpfi-1.5.4_p20220401.tar.xz 370932 BLAKE2B 9ca070b7cb1ad50cd73869a209681a2272e9a1a2cb6458f9c5c339caec43bd6b11e73c49e261fbcfa4f1d1bf682a317253cb17a79d3b75fd1b8bb36c85fd97bb SHA512 a9bcbbb74946b305ab1470db3f32647fc984504ef1c31d4ba4f21d6c66e7193b88666c3cc3ac1382a02750e127cc71424496e8feab393e8cb282b54fc4aa48f6 EBUILD mpfi-1.5.4.ebuild 778 BLAKE2B ae30e4fd47f6413b7030cd26c235001177da7ea7f05cb378f67a487f16cf02a7f9f5c06a2cc191da1e832cf8318fb76535e5c8d8f1eddd74def882d61ad6e8ce SHA512 606b086c52b40f966d7bd153db0f9d45961465db4ce06bfad95306f20f7db47c64cacf3f4411be1f7e84e7529c062296f753bc7f6cb569a0925f35e3ad7e4ce0 -EBUILD mpfi-1.5.4_p20220401.ebuild 873 BLAKE2B 587cbfca3ee80e4ca6f71706da9d39088dcc47174b127ac237ba1bf9ad8960cb91c380395224d72ebf0f50b299bfeebcd39d3a9e4561232dff779f0b9b6dffa3 SHA512 e767a5dffa8a1fe7766db65e800300062f93879bc47853d431c7975c26996fce783cf61bbe86796cc58550a60695d90671b764a662231f8a55678e7b6c4a70b1 +EBUILD mpfi-1.5.4_p20220401.ebuild 880 BLAKE2B 2d8daeb991721ea0227a30b74f0744326b875ce8b221eedae0ee58abde2a91bbb764c48ef0418b7e5e64792f20700b74fdbea74e2f0bb345fadcde7fbddb3af5 SHA512 61735abd9cec4a7fdf130e9b91ae63715f8b260de2c65e482df9c268ab4830a0e3917edc075792fe2ec15f0f8af580ac717acf9d21533988b7cbb1a066b7673b MISC metadata.xml 1032 BLAKE2B b5bb021e154acd0fa8bbb286e3229ac2b1e6ad19dccb8712f80e6d2507b27dc5ea2967dc286229fe146537140bfa5f4b2c75b1acbd707b63292632da42975a19 SHA512 75e9bca1c492cc7967e2fbd6c4e5f82f731c163777bb4a5639669b4511467b78f5d84224be11985e5e0286e038661b748aba70e55655bf434b5fd8f573b8751e diff --git a/sci-libs/mpfi/mpfi-1.5.4_p20220401.ebuild b/sci-libs/mpfi/mpfi-1.5.4_p20220401.ebuild index 9694c5abd983..bea69d29e332 100644 --- a/sci-libs/mpfi/mpfi-1.5.4_p20220401.ebuild +++ b/sci-libs/mpfi/mpfi-1.5.4_p20220401.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 @@ -11,7 +11,7 @@ S="${WORKDIR}/${PN}-1.5.4" # are LGPL-2.1+ LICENSE="GPL-3 LGPL-3 LGPL-2.1+" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" DEPEND=" dev-libs/gmp:0= diff --git a/sci-libs/openlibm/Manifest b/sci-libs/openlibm/Manifest index 25262324db23..c731515b9cd5 100644 --- a/sci-libs/openlibm/Manifest +++ b/sci-libs/openlibm/Manifest @@ -1,8 +1,9 @@ +AUX openlibm-0.8.3-fix-loong-riscv-fenv.patch 749 BLAKE2B 27f062b7bc9212a487812efc923fd584a03d0641fb81f6b4b683b161c6f3e1c255b5141c63418f9e0be96250d5cda09fae5ebf611aeaf79562d32cb0c266bbee SHA512 d0290460c8fb444496ef3978eb77bdf691df380d4e11080fffb7060b5e2b7ab4da287b424eda4fef7f719b53d24d244c128f4c118deb4e07f1a00f6b32d46474 AUX openlibm-0.8.3-stack-protection.patch 2065 BLAKE2B 213710329df83d08798cea61d952e6ced7218bad7e80eb9ee8004ccbfaf85a27fc70fb1ac4f6f5b313b47453be1197567296c8cca23fcd65ad037599ff0b17a7 SHA512 7e750cdb2fe9871b1e83291ffac5d255a73f2f577b05f3a3dcb35ee919c38fa26980416d38352805b1b32f91de3b7bcba8fab0f0757bb506786ddbdeb4429739 DIST openlibm-0.7.5.tar.gz 366889 BLAKE2B cd892965122237783cc288e57c965ae56d26fdcce93d89dd764ba659d292ade20baa754af303f04b831902f62f95388e2e7e11c050a0712a235bbc5793f2a9c4 SHA512 fe5797f49e9f9ac70485c53c6096ac273c33c7b44fbb694788717f0e427fe9a8e121939c4c1334f2d20f2fe1f440d952cc20cbdd49717996a2fb9a1045b05799 DIST openlibm-0.8.0.tar.gz 367130 BLAKE2B e516fee18203040b8f3cdffab10c4ca22df638551b420ec7e679ff373221973a013c93520b29395c61c8ef0f0f6c87516c1d4a9885c3bbb5e8cae8900efee6ea SHA512 336dfac1fd4ab6ce256aa0129a211c3556eac46d2e775e5cec9626dc5bbcb4d5e65c86617d72e531694e8c8e6320a0fabc76600a02b0ac9f1d652774d0a94440 DIST openlibm-0.8.3.tar.gz 374991 BLAKE2B 91474b5c9480753dafb2f85521a8909eaa00febc871bd71d6ffecfd1001200ce66c66c43f4f5738215f04bc109035dcceb2a9f6319e8b9405e6cab65e802aafb SHA512 1c6969e6e3117ddc066697318e43cf42d170750cb85cbed6013eb29d7513d5998eeffbff4a658d222cf637977cb7dca34b7a15814f8870f4e36e880673d757c0 EBUILD openlibm-0.7.5.ebuild 820 BLAKE2B de0436b2b7598936c32951ad3063a4eea11d4f34f16abb30c675d387948cd44eb832c25b7ae6004bba879061d56fd97684761a06eb47619c7d408b0f1384a7d4 SHA512 3d96a505d1f15647ab229e5ef1f1e60f1b1ff9cdb063af2bc20e07b6eee49d76ac2e61939f2f948e311fef034af7c42c75b465110ef748dd770aefcc343d3862 EBUILD openlibm-0.8.0.ebuild 908 BLAKE2B f966b0c1ce4c6437061fc01caf15c79634350222865e7bea12da31897805bb56d50c43a75fa63060bf0a369b2c4ff394ce559ae0a26a171f9279859662ec0e8c SHA512 a62983295d2e90209e97b311e95d67e93bb2203d66bb9d9b1ba5aa00c034ab4b082bd34dd1fa25b5b2c9abfcbfed98938bf22aa278cfd3e494e17a02716f8f4d -EBUILD openlibm-0.8.3.ebuild 1136 BLAKE2B f11458522fd4790d381066b8375ce3efb1f39197fa6a7cd5c0964dcf738d3fe1dd70f2fda01ba9dc7889c8922d8b9bc5f1888e68c246efe59b563a69137953d6 SHA512 6be54c7ddd02765d331b0b39526f07876895687f2bfc8c6d78a55228f1aa671a0fcf9dd21d4f46cd1d793bcaa6ee6802926173a754629d986be167c9d48649a9 +EBUILD openlibm-0.8.3.ebuild 1263 BLAKE2B a0fc12c11c9485f8f61e8bf1ec4461a3ed922a75556a9e6fc51f2a6104da9411558d758af20e005aa93e06ac87e3d0d7458edc6c8eee7cfefc2e7162f6879f6c SHA512 733c1aedccd1ae1f0d0f85dad82f71ad42464b8b8167d97286912cebe0155b36bcb7104dfb1bf0cff99d85a0c90e0bd649d0b90fbcdcff594a9caa0b293ba91c MISC metadata.xml 785 BLAKE2B 160415de6f1dd61dfe42488a2aaf716bb6ecb00396ae541c8b385116fb0b5017bc546fdcdd6394ce5c547cd85e7ccf94b7996128355ce3fa9fc7b17478c2949d SHA512 cdc602bce059702ad03d57a67ad9e2897fdcf999fd2d664e76293ddd22741817a042abafd6603c424839780d30b647a82901c468a5d55dc1794fdafd2a281b8c diff --git a/sci-libs/openlibm/files/openlibm-0.8.3-fix-loong-riscv-fenv.patch b/sci-libs/openlibm/files/openlibm-0.8.3-fix-loong-riscv-fenv.patch new file mode 100644 index 000000000000..3e66dfaa46a9 --- /dev/null +++ b/sci-libs/openlibm/files/openlibm-0.8.3-fix-loong-riscv-fenv.patch @@ -0,0 +1,27 @@ +https://github.com/JuliaMath/openlibm/commit/c4667caea25ae3487adf6760b4a1dcf32477a4b8 +https://github.com/JuliaMath/openlibm/pull/308 +shipped in openlibm 0.8.4 +From: Li Bohai <lbhlbhlbh2002@icloud.com> +Date: Sat, 9 Nov 2024 21:40:26 +0800 +Subject: [PATCH] Fix fenv_t initializer (#308) + +--- a/loongarch64/fenv.c ++++ b/loongarch64/fenv.c +@@ -1,5 +1,5 @@ + #define __fenv_static +-#include <fenv.h> ++#include <openlibm_fenv.h> + + #ifdef __GNUC_GNU_INLINE__ + #error "This file must be compiled with C99 'inline' semantics" +--- a/riscv64/fenv.c ++++ b/riscv64/fenv.c +@@ -27,7 +27,7 @@ + */ + + #define __fenv_static +-#include "fenv.h" ++#include <openlibm_fenv.h> + + #ifdef __GNUC_GNU_INLINE__ + #error "This file must be compiled with C99 'inline' semantics" diff --git a/sci-libs/openlibm/openlibm-0.8.3.ebuild b/sci-libs/openlibm/openlibm-0.8.3.ebuild index 1b03b5cf145c..c7e00790e40a 100644 --- a/sci-libs/openlibm/openlibm-0.8.3.ebuild +++ b/sci-libs/openlibm/openlibm-0.8.3.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 @@ -13,10 +13,11 @@ IUSE="static-libs" LICENSE="public-domain MIT ISC BSD-2 LGPL-2.1+" # See https://abi-laboratory.pro/index.php?view=timeline&l=openlibm SLOT="0/4" -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux" PATCHES=( "${FILESDIR}"/${P}-stack-protection.patch + "${FILESDIR}"/${P}-fix-loong-riscv-fenv.patch ) src_prepare() { @@ -28,8 +29,11 @@ src_prepare() { } src_compile() { - # Build system uses the riscv64 arch variable - use riscv && export ARCH=riscv64 + # Build system uses different ARCH for the following arches + case "${ARCH}" in + loong) export ARCH=loongarch64 ;; + riscv) export ARCH=riscv64 ;; + esac emake \ CC="$(tc-getCC)" \ diff --git a/sci-libs/pcl/Manifest b/sci-libs/pcl/Manifest index ee32bae51ae1..800340fc92f7 100644 --- a/sci-libs/pcl/Manifest +++ b/sci-libs/pcl/Manifest @@ -1,9 +1,10 @@ AUX pcl-1.12.1-allow-configuration-of-install-dirs.patch 1188 BLAKE2B 5ffc3c22c10df8a14270ce1e6a3b0c2db0ed3c5e9154bfed366b87faf8a13546fbf78a88f0d52c4ca09e345ba9add384dad86a08963e0b496a2944293f38516b SHA512 ab4cb57d5d1e494501412d5fcd662f8d75f74a7cf768e948abc1270d11b7ec2bc90901630fa7ac6e96237507c9bfa4214594fc76c58f505bcf2f40e4e37487a8 AUX pcl-1.12.1-fix-hardcoded-relative-directory-of-the-installed-cmake-files.patch 832 BLAKE2B e7095163cba68ee7487251506e19434050c4c7d4bb5feb6d0946356a607dad5555c7327dc1ba68761086b3708ad653256337a110983d9d656fa863dbf9a75896 SHA512 5581df74c9f6f0bd9613b7f158d0d799a4fdea512101001aafdf8eaa91c31e4570f4ce04f1b828730c9fa8082d00000e78055da87427301f04807c1087f1b8b2 -AUX pcl-1.14.1-boost.patch 1155 BLAKE2B 09f41979ef2878bd062e14fc38e9525cea090729e9d49b3a55d95bfc375c42cee9b9d0af1578407d9bc467babcb11b15f4c600fe2b8e34e30e12fb50c83ab577 SHA512 88431830523552c45625b1931138e79b75eebe4be0432b263519fde24518942a92ef595b77e73fea393db6da8bfaba286f07644e3894fb8eb66ebaa8babe9588 +AUX pcl-1.14.1-boost-1.87.patch 6820 BLAKE2B d8c911a00016f6132d4281dd0748177cba1d313ed8b274e0473b79cda22d4aa9d8051374f8437e6fa2caaaadd9021200877dc3316f7795cf69d5f6053c88ff3d SHA512 aa7016b62c61799f88933dcc854b9b16d16678c64ab4b1d48861e2b0e7d64bbe012f199d83de5f8590519d4f28047f54f3f02a792a7fc743998489ab563463f9 +AUX pcl-1.14.1-boost.patch 925 BLAKE2B 99c340c9187432093b32e3f667e791e41ca298ba21224a87ec1b8b5d8fc942f63ba90830e28a98007929096c16bb28002a94b9d16c61ab91f85e26115e8c2276 SHA512 856b0d31a7ffc60e408fefd68bce9a1820e11ad3df3b3f4cfcc9aca60303c10ba604b84f1932838bf03d1812eb47ebeedbe32a1fbdbdda2572dc4b98337116fd AUX pcl-1.14.1-gcc15.patch 2070 BLAKE2B 9baa1eda8a751c832fe875d9f941214f854bf70e0feba4f2793aadd3421898c6ce580f488f0daa35d102b63bf0aba7015d3552d0f6c97e456b4dfb9c47203433 SHA512 a15b13aee5d1e727072066c549a131e58f81bc804c2d9bc67cbec6da11a881a19a5438051f3eea4ad7c63ca7b4d92bc3105cc8ff8d58621a46f61a364077e7c3 AUX pcl-1.14.1-tests.patch 785 BLAKE2B 3cd99c021f70dbf2239979772c642d60e1d4c0631b2c7dd7d732c0ed51ecfec2fa02e1c796115bd4242e0403524422f8a6a3fa0b1e47474d278770b5ea23a0b4 SHA512 0039aac3850b0fe29fb7ef416fc3f812462001c145406e196d60ab9ec4e4c325b3bd2e342bd423a89f9bc547c51ccd95184d8b548186b338b90f4b3262d5080c DIST pcl-1.14.1.tar.gz 68672885 BLAKE2B 207389d844ac2793f6f321504c05282ace2d8e51aaf0277c13fb11f5be22ac93f7e044f34fc2259aca7d7e34ae3b9b00287ee9df0d15f851f1f4b4bd651578c7 SHA512 8e2d2839fe73a955d49b9a72861de2becf2da9a0dc906bd10ab8a3518e270a2f1900d801922d02871d704f2ed380273d35c2d0e04d8da7e24a21eb351c43c00b -EBUILD pcl-1.14.1-r1.ebuild 2764 BLAKE2B a9ef3a6e6df3b972772695dbc3af27c9e097cca8de84c948402ed4f358b516a2926d7de66ba4272baf3ad31f3f72f3c8665c185370c2d2e82eedaa06a0607b6f SHA512 79bfe1955093bf2015281fd67311f16182712ce84353f56be74493f9795e51556f8ed2852836659710edd76b7fde48ac7a84c295bbc9d75bae6d5ac4e968198c +EBUILD pcl-1.14.1-r2.ebuild 2809 BLAKE2B 865c6b66403df872dfc7718e1439e3acc07c18b27a0f3badfc03628dd9653501b8b32db915eeaf06a598afae90a1bedcb580af229fceeda30cf9c8be3d427743 SHA512 ddd6b5485e84af55022df42c6f367fc29d24e7d8626004ceacf8b86e8036221874f53ac434b1c56c8cfca67ebf31e430f77edf6d2d61f384422eb53a595ad663 EBUILD pcl-9999.ebuild 2725 BLAKE2B 732a41647159d2615892ca9956f1bacdee47e005eb562018ad3071ae9ebf367b0da1ee401c6a9ce2a38a0d7403f3b8b73ab2ae29f490c386599559b9be5c8db9 SHA512 cf7fa80d405bd1594c5071b828e14ba7c3c6d940fe66dc91221e49abccd9c1903b6fe2cfe16ae485af1dac0e13c1217bc52ddf3724f1fdf68156e17c64a2a5e4 MISC metadata.xml 1069 BLAKE2B efb4dd7a8d1d65a7922da25e9f31e327b35cf88924be9dbc12ec2adc2e2d57017714ab931611d17b575daaa831934d9b90493be307ed668e24b7831bf4bd0106 SHA512 ac01ef352a9d6d66a02981585e8a19b01574a254639067520ab7422d89e5f095f84f7fc91a3e4f5b6dcb154ca0e487604aa1461bae6fa02a2037d7ca2668de3f diff --git a/sci-libs/pcl/files/pcl-1.14.1-boost-1.87.patch b/sci-libs/pcl/files/pcl-1.14.1-boost-1.87.patch new file mode 100644 index 000000000000..f2b1f248fcbf --- /dev/null +++ b/sci-libs/pcl/files/pcl-1.14.1-boost-1.87.patch @@ -0,0 +1,171 @@ +From 6f64495840c4e5674d542ccf20df96ed12665687 Mon Sep 17 00:00:00 2001 +From: Markus Vieth <mvieth@techfak.uni-bielefeld.de> +Date: Tue, 5 Nov 2024 20:07:13 +0100 +Subject: [PATCH 1/2] Prepare for Boost 1.87 Some stuff from Boost's asio + library has been removed after Boost 1.86. The documentation says that it has + been deprecated, but no compiler warnings are shown. This page explains what + is considered "old" and what should be used instead: + https://www.boost.org/doc/libs/1_86_0/doc/html/boost_asio/net_ts.html - + io_service was simply an alias (typedef) for io_context - make_address + replaces from_string - resolver.resolve and connect work a bit different now, + see also + https://www.boost.org/doc/libs/1_86_0/doc/html/boost_asio/tutorial/tutdaytime1/src.html + +--- a/apps/src/openni_mobile_server.cpp ++++ b/apps/src/openni_mobile_server.cpp +@@ -157,7 +157,7 @@ class PCLMobileServer { + + viewer_.showCloud(getLatestPointCloud()); + +- boost::asio::io_service io_service; ++ boost::asio::io_context io_service; + tcp::endpoint endpoint(tcp::v4(), static_cast<unsigned short>(port_)); + tcp::acceptor acceptor(io_service, endpoint); + tcp::socket socket(io_service); +--- a/apps/src/openni_octree_compression.cpp ++++ b/apps/src/openni_octree_compression.cpp +@@ -415,7 +415,7 @@ main(int argc, char** argv) + if (bEnDecode) { + // ENCODING + try { +- boost::asio::io_service io_service; ++ boost::asio::io_context io_service; + tcp::endpoint endpoint(tcp::v4(), 6666); + tcp::acceptor acceptor(io_service, endpoint); + +@@ -423,7 +423,7 @@ main(int argc, char** argv) + + std::cout << "Waiting for connection.." << std::endl; + +- acceptor.accept(*socketStream.rdbuf()); ++ acceptor.accept(socketStream.rdbuf()->socket()); + + std::cout << "Connected!" << std::endl; + +--- a/apps/src/openni_organized_compression.cpp ++++ b/apps/src/openni_organized_compression.cpp +@@ -438,7 +438,7 @@ main(int argc, char** argv) + if (bEnDecode) { + // ENCODING + try { +- boost::asio::io_service io_service; ++ boost::asio::io_context io_service; + tcp::endpoint endpoint(tcp::v4(), 6666); + tcp::acceptor acceptor(io_service, endpoint); + +@@ -446,7 +446,7 @@ main(int argc, char** argv) + + std::cout << "Waiting for connection.." << std::endl; + +- acceptor.accept(*socketStream.rdbuf()); ++ acceptor.accept(socketStream.rdbuf()->socket()); + + std::cout << "Connected!" << std::endl; + +--- a/io/include/pcl/io/hdl_grabber.h ++++ b/io/include/pcl/io/hdl_grabber.h +@@ -274,7 +274,7 @@ namespace pcl + boost::asio::ip::udp::endpoint udp_listener_endpoint_; + boost::asio::ip::address source_address_filter_; + std::uint16_t source_port_filter_; +- boost::asio::io_service hdl_read_socket_service_; ++ boost::asio::io_context hdl_read_socket_service_; + boost::asio::ip::udp::socket *hdl_read_socket_; + std::string pcap_file_name_; + std::thread *queue_consumer_thread_; +--- a/io/include/pcl/io/robot_eye_grabber.h ++++ b/io/include/pcl/io/robot_eye_grabber.h +@@ -131,7 +131,7 @@ namespace pcl + + boost::asio::ip::address sensor_address_; + boost::asio::ip::udp::endpoint sender_endpoint_; +- boost::asio::io_service io_service_; ++ boost::asio::io_context io_service_; + std::shared_ptr<boost::asio::ip::udp::socket> socket_; + std::shared_ptr<std::thread> socket_thread_; + std::shared_ptr<std::thread> consumer_thread_; +--- a/io/include/pcl/io/tim_grabber.h ++++ b/io/include/pcl/io/tim_grabber.h +@@ -128,7 +128,7 @@ class PCL_EXPORTS TimGrabber : public Grabber + std::vector<float> distances_; + + boost::asio::ip::tcp::endpoint tcp_endpoint_; +- boost::asio::io_service tim_io_service_; ++ boost::asio::io_context tim_io_service_; + boost::asio::ip::tcp::socket tim_socket_; + //// wait time for receiving data (on the order of milliseconds) + unsigned int wait_time_milliseconds_ = 0; +--- a/io/src/hdl_grabber.cpp ++++ b/io/src/hdl_grabber.cpp +@@ -287,7 +287,7 @@ pcl::HDLGrabber::loadHDL32Corrections () + boost::asio::ip::address + pcl::HDLGrabber::getDefaultNetworkAddress () + { +- return (boost::asio::ip::address::from_string ("192.168.3.255")); ++ return (boost::asio::ip::make_address ("192.168.3.255")); + } + + ///////////////////////////////////////////////////////////////////////////// +--- a/io/src/robot_eye_grabber.cpp ++++ b/io/src/robot_eye_grabber.cpp +@@ -269,7 +269,7 @@ void + pcl::RobotEyeGrabber::socketThreadLoop () + { + asyncSocketReceive(); +- io_service_.reset(); ++ io_service_.restart(); + io_service_.run(); + } + +--- a/io/src/tim_grabber.cpp ++++ b/io/src/tim_grabber.cpp +@@ -184,8 +184,8 @@ pcl::TimGrabber::start () + + try { + boost::asio::ip::tcp::resolver resolver (tim_io_service_); +- tcp_endpoint_ = *resolver.resolve (tcp_endpoint_); +- tim_socket_.connect (tcp_endpoint_); ++ boost::asio::ip::tcp::resolver::results_type endpoints = resolver.resolve (tcp_endpoint_); ++ boost::asio::connect(tim_socket_, endpoints); + } + catch (std::exception& e) + { +--- a/io/src/vlp_grabber.cpp ++++ b/io/src/vlp_grabber.cpp +@@ -92,7 +92,7 @@ pcl::VLPGrabber::loadVLP16Corrections () + boost::asio::ip::address + pcl::VLPGrabber::getDefaultNetworkAddress () + { +- return (boost::asio::ip::address::from_string ("255.255.255.255")); ++ return (boost::asio::ip::make_address ("255.255.255.255")); + } + + ///////////////////////////////////////////////////////////////////////////// + +From 25be27e20a017f0ea0a0884b9fe31a50b5cbb82d Mon Sep 17 00:00:00 2001 +From: Markus Vieth <mvieth@techfak.uni-bielefeld.de> +Date: Thu, 7 Nov 2024 20:43:15 +0100 +Subject: [PATCH 2/2] =?UTF-8?q?Silence=20ABI=20warnings=20with=20GCC=2014?= + =?UTF-8?q?=20With=20the=20previous=20flag,=20GCC=2014=20displays=20many?= + =?UTF-8?q?=20warnings=20like=20"warning:=20the=20mangled=20name=20of=20..?= + =?UTF-8?q?.=20changed=20between=20=E2=80=98-fabi-version=3D17=E2=80=99=20?= + =?UTF-8?q?and=20=E2=80=98-fabi-version=3D19=E2=80=99=20[-Wabi]"=20I=20thi?= + =?UTF-8?q?nk=20these=20warnings=20are=20not=20useful=20for=20us.=20Since?= + =?UTF-8?q?=20PCL=201.15.0=20will=20not=20be=20ABI-compatible=20to=20PCL?= + =?UTF-8?q?=201.14.1=20anyway,=20these=20name=20changes=20do=20not=20matte?= + =?UTF-8?q?r=20AFAIK.?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -117,7 +117,7 @@ endif() + if(CMAKE_COMPILER_IS_GNUCXX) + if("${CMAKE_CXX_FLAGS}" STREQUAL "${CMAKE_CXX_FLAGS_DEFAULT}") + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7) +- string(APPEND CMAKE_CXX_FLAGS " -Wabi=11") ++ string(APPEND CMAKE_CXX_FLAGS " -Wabi=18") + else() + string(APPEND CMAKE_CXX_FLAGS " -Wabi") + endif() diff --git a/sci-libs/pcl/files/pcl-1.14.1-boost.patch b/sci-libs/pcl/files/pcl-1.14.1-boost.patch index 8f99023f741a..0c56c3b18b9a 100644 --- a/sci-libs/pcl/files/pcl-1.14.1-boost.patch +++ b/sci-libs/pcl/files/pcl-1.14.1-boost.patch @@ -6,12 +6,6 @@ Subject: [PATCH] Fix boost hash data type (#6053) * Fix boost hash data type * Change file name generation. ---- - visualization/src/pcl_visualizer.cpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/visualization/src/pcl_visualizer.cpp b/visualization/src/pcl_visualizer.cpp -index 5f073646ac1..bc9b959c246 100644 --- a/visualization/src/pcl_visualizer.cpp +++ b/visualization/src/pcl_visualizer.cpp @@ -4591,10 +4591,12 @@ pcl::visualization::PCLVisualizer::getUniqueCameraFile (int argc, char **argv) diff --git a/sci-libs/pcl/pcl-1.14.1-r1.ebuild b/sci-libs/pcl/pcl-1.14.1-r2.ebuild index 42b8092fcda8..217d87752bc7 100644 --- a/sci-libs/pcl/pcl-1.14.1-r1.ebuild +++ b/sci-libs/pcl/pcl-1.14.1-r2.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 @@ -72,6 +72,7 @@ PATCHES=( "${FILESDIR}"/${PN}-1.14.1-gcc15.patch "${FILESDIR}"/${PN}-1.14.1-tests.patch "${FILESDIR}"/${PN}-1.14.1-boost.patch + "${FILESDIR}"/${PN}-1.14.1-boost-1.87.patch ) src_prepare() { 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/" +} diff --git a/sci-libs/rocFFT/Manifest b/sci-libs/rocFFT/Manifest index da6a587fc92f..e6ca0a448489 100644 --- a/sci-libs/rocFFT/Manifest +++ b/sci-libs/rocFFT/Manifest @@ -6,7 +6,9 @@ AUX rocFFT-5.7.1-fix-rocm-link-path.patch 492 BLAKE2B daf4d865d8b2b5f3dc97a845f2 DIST rocFFT-5.1.3.tar.gz 845470 BLAKE2B 86060ce4f8612869fedc5bc92ed6a5bb7fbc539b26c7f5ab0ded5406ab6c340f64116782285d040824e54557af87d9ddb6f907fd1550b80c3da903d3c1d5e5c0 SHA512 175402856bd4753e74ce14326569be99221e21d0ce675e007900f6982c53e1566ad0b060eec545e0f17ff4dc4811688cc1003dc986226205ee95ee6f22d1ca43 DIST rocFFT-5.7.1.tar.gz 1192841 BLAKE2B 58f880f7ff866f85af70666d17e8b1a3ac8e63e853520546f746d74cecd805687fd689367a09d2b1ec4e1059b44b858377dce362cd4cae91cb85aad7c3185c00 SHA512 48467589cb4bc1334a4074bacc6a726c850dc2a79ef82622301d61c4269fb81c0b2b9fce56d72bddca584d1797a8634d243a9a6b8cf943e687b2b0f5c931116f DIST rocFFT-6.1.1.tar.gz 1257210 BLAKE2B 01d383d32bb91a9cd1d68a3b1ef2c6d71b33a9a49389c558adca2673ce4a74aab9f0a420977d4f4d5e8b8e72f3d9bfe3a8019e137968b58984edac4f2e1a9146 SHA512 fb35b4d21b8bd598702f79707cdf19b7c30a9e62176f5f7a71b93076f904a98446dac4fa8bffcd7ba20ecb797aec727e730c8232de881a52d519c0c00a907bf9 +DIST rocFFT-6.3.0.tar.gz 1386056 BLAKE2B 1aab60818328cb3a6448f6d555faf2db3b3839e2b3abd7a37cc48054e67321e7c98c319b2f078dfd351f56263c35731608ae65fca427fc3eaaf06c8410b99d89 SHA512 4ac2dac24e77a9d767fa08a9d393cb2c94bc2a8ca32cb75ea53dd83011989bd344ae3c11c9bfc557e71c645ebea34c53a5e050ce6810259f84287e6baf829c08 EBUILD rocFFT-5.1.3-r1.ebuild 3926 BLAKE2B ef9cf52ee86139887f87b96f02d28bcb80420af8d3538060596a51b3b8b7369eee5da63d90e8132935acf32cba06024840427cf2e5a2b7662388e75c1b1b4272 SHA512 3a34f05845f726fd6cb71d0315ee6338e1e381910a8dca2d6c655ae80e1ba3f1765a2313f2795be8eb737195fa23e2597bcda89a1e6db778cfddf35485462beb EBUILD rocFFT-5.7.1-r2.ebuild 3950 BLAKE2B ecd5ec8e81290c4bc83dd413c7b0dc292712244bbc6a432f593ddb868dfe24a5486acd590315b12ec9e3a074746aa4d84b0c8376aa1db490e8ea96867b7a3fd1 SHA512 48cb8edd4005f616d4e6886dce3b48bcb972b05ba35dc67739bfdca193a19fccba464bd275ca07bd98dff70fe7a237d256e2a45e4c2910ebe8f26648a262a555 EBUILD rocFFT-6.1.1.ebuild 3747 BLAKE2B 13cf175e01205c53fb7b2541eb00cf1d9326a0eae51e26b96273ca70dc2917294a52414ef1bc2faee3383790e1ce3ac4ca8fac86a7eaf8b052728f779f31fceb SHA512 500a4a7ac83004b143c6742cfc319d6fecda12dc3d56282e0ae940e7ef2be67b14dab3a68dfdc1a6d1ffa24e76cd12ee4621b43434dba8e9a87fc39292321460 +EBUILD rocFFT-6.3.0.ebuild 3721 BLAKE2B 38d1079f818fc86d0c446ce9ab7f80c75ccf579fd05d9627a613ea2ecf0daa2cd9d98eab2fb54f3749901a9784a9bb53bb69e4c12d733692b692e17f2d7f2cd7 SHA512 1095e37ca4808e7ef9cda0bd9e57d09cb3176e1b2b74ce9fa28d553a1195d42f4b302dcf9512bfa2f803369b40b5bab575adb0ebc9271b0b287fa1bfb56edb60 MISC metadata.xml 764 BLAKE2B 0490d64e75e9269408f31d4ac87f4845f01a306adf829d57d89401cab19c84412896f351c1dc9f6a918679447f1fe62a7fc958bff9c98f1990fe021f99b35e01 SHA512 0135bae193ac9439a86dca5e26a32366eae7b67175c955aace1a1d620f1df5176a3e3a302a5e6f1e6473777e5b51ab772aa67a01ba023e9c8bbb180352ae8e0b diff --git a/sci-libs/rocFFT/rocFFT-6.3.0.ebuild b/sci-libs/rocFFT/rocFFT-6.3.0.ebuild new file mode 100644 index 000000000000..c1a62e09e1a5 --- /dev/null +++ b/sci-libs/rocFFT/rocFFT-6.3.0.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +ROCM_VERSION=${PV} + +inherit cmake check-reqs edo multiprocessing python-r1 rocm + +DESCRIPTION="Next generation FFT implementation for ROCm" +HOMEPAGE="https://github.com/ROCm/rocFFT" +SRC_URI="https://github.com/ROCm/rocFFT/archive/rocm-${PV}.tar.gz -> rocFFT-${PV}.tar.gz" +S="${WORKDIR}/rocFFT-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +# RDEPEND: perfscripts? dev-python/plotly[${PYTHON_USEDEP}] # currently masked by arch/amd64/x32/package.mask +RDEPEND=" +perfscripts? ( + >=media-gfx/asymptote-2.61 + dev-texlive/texlive-latex + dev-tex/latexmk + sys-apps/texinfo + dev-python/sympy[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] ) +${PYTHON_DEPS}" + +DEPEND="=dev-util/hip-6* + ${PYTHON_DEPS} + benchmark? ( + dev-libs/boost + sci-libs/hipRAND:${SLOT}[${ROCM_USEDEP}] + ) + test? ( + dev-cpp/gtest + dev-libs/boost + >=sci-libs/fftw-3 + llvm-runtimes/openmp + sci-libs/hipRAND:${SLOT}[${ROCM_USEDEP}] + ) +" + +BDEPEND=" + >=dev-build/cmake-3.22 + dev-build/rocm-cmake + dev-db/sqlite +" + +CHECKREQS_DISK_BUILD="7G" + +IUSE="benchmark perfscripts test" +REQUIRED_USE="perfscripts? ( benchmark ) ${PYTHON_REQUIRED_USE} ${ROCM_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-5.7.1-fix-rocm-link-path.patch +) + +required_mem() { + if use test; then + echo "52G" + else + if [[ -n "${AMDGPU_TARGETS}" ]]; then + # count how many archs user specified in ${AMDGPU_TARGETS} + local NARCH=$(($(awk -F";" '{print NF-1}' <<< "${AMDGPU_TARGETS}" || die)+1)) + else + # The default number of AMDGPU_TARGETS for rocFFT-4.3.0. May change in the future. + local NARCH=7 + fi + echo "$(($(makeopts_jobs)*${NARCH}*25+2200))M" # A linear function estimating how much memory required + fi +} + +pkg_pretend() { + return # leave the disk space check to pkg_setup phase +} + +pkg_setup() { + export CHECKREQS_MEMORY=$(required_mem) + check-reqs_pkg_setup + python_setup +} + +src_prepare() { + if use perfscripts; then + pushd scripts/perf || die + sed -e "/\/opt\/rocm/d" -e "/rocmversion/s,rocm_info.strip(),\"${PV}\"," -i perflib/specs.py || dir + sed -e "/^top/,+1d" -i rocfft-perf suites.py || die + sed -e "s,perflib,${PN}_perflib,g" -i rocfft-perf suites.py perflib/*.py || die + sed -e "/^top = /s,__file__).*$,\"${EPREFIX}/usr/share/${PN}-perflib\")," \ + -i perflib/pdf.py perflib/generators.py || die + popd + fi + + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -Wno-dev + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCH=$(usex benchmark ON OFF) + -DSQLITE_USE_SYSTEM_PACKAGE=ON + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}/clients/staging" || die + export LD_LIBRARY_PATH=${BUILD_DIR}/library/src/:${BUILD_DIR}/library/src/device + edob ./rocfft-test +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}"/clients/staging || die + dobin dyna-rocfft-bench rocfft-bench + dosym dyna-rocfft-bench /usr/bin/dyna-rocfft-rider + dosym rocfft-bench /usr/bin/dyna-rocfft-rider + + if ! use perfscripts; then + # prevent collision with dev-util/perf + rm -rf "${ED}"/usr/bin/perf || die + fi + fi + + if use perfscripts; then + cd "${S}"/scripts/perf || die + python_foreach_impl python_doexe rocfft-perf + python_moduleinto ${PN}_perflib + python_foreach_impl python_domodule perflib/*.py + insinto /usr/share/${PN}-perflib + doins *.asy suites.py + fi +} diff --git a/sci-libs/rocPRIM/Manifest b/sci-libs/rocPRIM/Manifest index 705ca7510043..4fdd45b6c51a 100644 --- a/sci-libs/rocPRIM/Manifest +++ b/sci-libs/rocPRIM/Manifest @@ -1,8 +1,13 @@ AUX rocPRIM-5.7.1-expand-isa-compatibility.patch 1655 BLAKE2B 23392f6237ec706e0763c6165f854b0638757d70b5dc756125b6a5e861f2d5dc9e557362035a57dc2557241a1e32a631cb2e8660d1e8107c73a7aff734af76eb SHA512 f2ffc71c6322b66685de4c78737d546ea27779e36d952d06fd14017e2bf4efb905f2f6da8f56e3a3f5314aa594b624cd3cd9f749bf74c97a425982f264cf82ee +AUX rocPRIM-6.3.0-expand-isa-compatibility.patch 1821 BLAKE2B 4e2964d6627ce135766a789e4c6ae3b7461f2024fb77d22c29a8630a5182953cc586d659604433580c855e97bf0372536c6e154a904b934bb125d5faec5269c8 SHA512 30bfd36c5a5be5ba1f11df572fa175ebdb61d17735cbcb71dac644d800a374f3253ff0cda9aac47a4941c43c8010806ec5ba0a97e6b12a32ed78746011b57a66 +AUX rocPRIM-6.3.0-fix-clang-template.patch 1539 BLAKE2B d9bf6f6cbe67eb247b5f0507b4fc3e4c837b4c0727192a026de55f325dc2f49b3a7d13d4b5b6713b031402e57d4d3b6e4769af8f011d74bc8a3ddc5c02363cf6 SHA512 77aa48c0f351ec46a77fb9d53eeae5cae6218b3520595c50ef87bf68b08bd7ca83a6fd9e4d96651a15b4dbf4b5d4e1257daacb124e25704d5ff417890e071361 +AUX rocPRIM-6.3.0-fix-libcxx.patch 2660 BLAKE2B 08e6a8504c1efc7ae79ea9c456ce64d5795b5c4b2f0632633e0356c097cc5ac5eb1255c86f8000f75de061dfa59cdf1d0c1fe0eb0bcb260d746471c527b06f15 SHA512 da832438d7f8ccb2e0abe353a8de4c982cc31bf728ad191cf41818b749a2876d63f39ae567f96f5a4ce6b12ca81699847912a13f63197dd6e518ba0fcd25b752 DIST rocPRIM-5.1.3.tar.gz 374510 BLAKE2B ab6960e7bd2159ac7a0d72ba6d594684f8d47028eca0940eabd35b346ac3d432a734ec575ee71341f339a9d0dead10dfafe81fb651a3b7da681aa900a5132d0e SHA512 54e14f2b40795153b862a64c9b3d336f35feccfda725daad75fae356b0147c577735884b65218c26c370ebec710af0f84aeef3103067a50db077cf9e24d2b64a DIST rocPRIM-5.7.1.tar.gz 535649 BLAKE2B 469bf59b5c92c37df96f58bac5a6559dc2cb879e5f82e539881d79bda57d23c25a9b114466042258e87862a88cd53d260155d7785c9a69a1800b0d05e931f56d SHA512 b2f0bc07dbc5cd111dd513f6c05dbc533908c52ea99caf77d6a4dd35db2b28f98c80006bd1f50a232873eab00b70e54231c38bfd1035c8845029d53690fd5e71 DIST rocPRIM-6.1.1.tar.gz 611372 BLAKE2B 984df214179a6d2c90b31bd30ec9472a0b985d9d488ea195968f25df4cac97ce48bfa4c322f2d578771ac63caeafc2c69c9dae911bc3a9d920ab9558ba7d6e15 SHA512 298eebc8a5d3fd7da71ab98a22fd39183436b3d9e14945e450f0fb35e38ea8fb99c5f2b342f1f77f21899a14d506ce96a965fbdb24f106ec9638dcd6afe6ae98 +DIST rocPRIM-6.3.0.tar.gz 745936 BLAKE2B 1cdcf886c823959bbb03f53cb6e17abdb009fa48f8e00e96f8d962dd28ef9fb8b6ed796be079b0a3948adc832de8e3449d6439711db821b8a26c5cdc7122ce61 SHA512 c38f3cebfb32c0c9d4f9c1ad261c1dbe793dec1ebc92cf024ef32606f99c91e178526d77a24ad18792099e6f3aafcea43f7bc9282bbc144672684cd5fe296a8b EBUILD rocPRIM-5.1.3.ebuild 2012 BLAKE2B db384e213038bbe8dc5e925905b9637bf5dc14de1b59f1f574abcc0f46aebe876484c0b9704acd0bf447a01727e1a94b388de9989669f64569043bf46cfb6e5e SHA512 3cf65a5a20fcb5b90cc871e266df7d96e791c70f82c33f088349a5cf03a39f0b114972a7fbf25ce8df4d80fc47af379f8cc0bd0466d261a1acee79e4ca7b3dbe EBUILD rocPRIM-5.7.1.ebuild 2234 BLAKE2B 504db3f20d2bc78f46e3a93d5eac96b275197444448185b0ebce64df866f6e27aa966cc940be9d91cdb3756bfaad2bb00e76cea40fe489e7603e63571d50f590 SHA512 bb10e2ded213c8e5554707e25cde78205cd0b6eb217e68242def0c2126fcd2dbc1dd0182c56df65e6bba5ed7c1931637079106d012a748cf3c53eeb13589e04a EBUILD rocPRIM-6.1.1.ebuild 1543 BLAKE2B 70aebece6353eed300659e250f714964d9d3565b165e0f43b670e881f7fe13ed9f7e2998500e7ccdc518f6832bc1ef6920b5b7aae67ecb943619392e4a1f8e91 SHA512 36134f4158d97463a798686d2e5e5881c55f96b2ec91b81f402476a2d0ed9a0fe0d2cdb6cd156d1ef4319e8ea635c0706248706b3e5aafa3e180c1e92b06c428 +EBUILD rocPRIM-6.3.0.ebuild 1773 BLAKE2B e66bef09d0499d7015c1e29d54598f80a309eec0a989552bce43a89b5d2233c4f1887e765d9228f863be01828550b78a9986fd99da0960ebbc4407b5733312e2 SHA512 46b8d6ae1eeef2654397f39512194bfcf27088d6885eacd97b22d0991f198e2b7e630005b20c1e59af17ec87c1e73222a53aaf59e16e7b0815281bce0f07fa63 MISC metadata.xml 672 BLAKE2B 93644f07bd8f34b43e335ec631b69abdfee76bfe55fcccc9c33b772945e72870f4307803a121226d2d87aa55a07f31274f376a6d8a44a9f5996a861d21dc5c38 SHA512 e8f5caa76c96a1ef5affce0a29f07e12fc4a10057c77bbc9f53288fd886488fddde59a713be80fd72dbaa9656abb6d4851995a000e160398c09ed28000a53712 diff --git a/sci-libs/rocPRIM/files/rocPRIM-6.3.0-expand-isa-compatibility.patch b/sci-libs/rocPRIM/files/rocPRIM-6.3.0-expand-isa-compatibility.patch new file mode 100644 index 000000000000..8a13924c1056 --- /dev/null +++ b/sci-libs/rocPRIM/files/rocPRIM-6.3.0-expand-isa-compatibility.patch @@ -0,0 +1,33 @@ +diff --git a/rocprim/include/rocprim/device/config_types.hpp b/rocprim/include/rocprim/device/config_types.hpp +index 58729b1..7e356da 100644 +--- a/rocprim/include/rocprim/device/config_types.hpp ++++ b/rocprim/include/rocprim/device/config_types.hpp +@@ -204,16 +204,23 @@ constexpr bool prefix_equals(const char* lhs, const char* rhs, std::size_t n) + constexpr target_arch get_target_arch_from_name(const char* const arch_name, const std::size_t n) + { + constexpr const char* target_names[] +- = {"gfx803", "gfx900", "gfx906", "gfx908", "gfx90a", "gfx1030", "gfx1100", "gfx1102"}; ++ = {"gfx803", ++ "gfx900", "gfx902", "gfx909", "gfx912", ++ "gfx906", ++ "gfx908", ++ "gfx90a", ++ "gfx1030", "gfx1031", "gfx1032", "gfx1033", "gfx1034", "gfx1035", "gfx1036", ++ "gfx1100", "gfx1101", ++ "gfx1102", "gfx1103", "gfx1150", "gfx1151", "gfx1152", "gfx1153"}; + constexpr target_arch target_architectures[] = { + target_arch::gfx803, +- target_arch::gfx900, ++ target_arch::gfx900, target_arch::gfx900, target_arch::gfx900, target_arch::gfx900, + target_arch::gfx906, + target_arch::gfx908, + target_arch::gfx90a, +- target_arch::gfx1030, +- target_arch::gfx1100, +- target_arch::gfx1102, ++ target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, target_arch::gfx1030, ++ target_arch::gfx1100, target_arch::gfx1100, ++ target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, target_arch::gfx1102, + }; + static_assert(sizeof(target_names) / sizeof(target_names[0]) + == sizeof(target_architectures) / sizeof(target_architectures[0]), diff --git a/sci-libs/rocPRIM/files/rocPRIM-6.3.0-fix-clang-template.patch b/sci-libs/rocPRIM/files/rocPRIM-6.3.0-fix-clang-template.patch new file mode 100644 index 000000000000..089ce6187979 --- /dev/null +++ b/sci-libs/rocPRIM/files/rocPRIM-6.3.0-fix-clang-template.patch @@ -0,0 +1,29 @@ +Fix compilation with clang-19 +Backports https://github.com/ROCm/rocPRIM/commit/c57b04baea872078bfb5b4af1165c7584fd3a95b +--- a/rocprim/include/rocprim/device/detail/device_radix_sort.hpp ++++ b/rocprim/include/rocprim/device/detail/device_radix_sort.hpp +@@ -526,15 +526,15 @@ ROCPRIM_DEVICE ROCPRIM_FORCE_INLINE void sort_single(KeysInputIterator keys_i + + ROCPRIM_SHARED_MEMORY typename sort_single_helper::storage_type storage; + +- sort_single_helper().template sort_single(keys_input, +- keys_output, +- values_input, +- values_output, +- size, +- decomposer, +- bit, +- current_radix_bits, +- storage); ++ sort_single_helper().template sort_single<>(keys_input, ++ keys_output, ++ values_input, ++ values_output, ++ size, ++ decomposer, ++ bit, ++ current_radix_bits, ++ storage); + } + + template<class T> diff --git a/sci-libs/rocPRIM/files/rocPRIM-6.3.0-fix-libcxx.patch b/sci-libs/rocPRIM/files/rocPRIM-6.3.0-fix-libcxx.patch new file mode 100644 index 000000000000..3827829483fb --- /dev/null +++ b/sci-libs/rocPRIM/files/rocPRIM-6.3.0-fix-libcxx.patch @@ -0,0 +1,71 @@ +Fix ambiguous declarations for libc++, which treats __int128_t as integral. +The issue was fixed in develop branch, but not in release. +Upstream commit: https://github.com/ROCm/rocPRIM/commit/81f6073790dee8d310e5b68cf46aae4b797cc059 +--- a/rocprim/include/rocprim/thread/radix_key_codec.hpp ++++ b/rocprim/include/rocprim/thread/radix_key_codec.hpp +@@ -78,6 +78,7 @@ struct radix_key_codec_integral<Key, + } + }; + ++#ifndef _LIBCPP_VERSION + template<class Key, class BitKey> + struct radix_key_codec_integral< + Key, +@@ -104,6 +105,7 @@ struct radix_key_codec_integral< + return static_cast<unsigned int>(bit_key >> start) & mask; + } + }; ++#endif + + template<class Key, class BitKey> + struct radix_key_codec_integral<Key, +@@ -135,6 +137,7 @@ struct radix_key_codec_integral<Key, + } + }; + ++#ifndef _LIBCPP_VERSION + template<class Key, class BitKey> + struct radix_key_codec_integral<Key, + BitKey, +@@ -164,6 +167,7 @@ struct radix_key_codec_integral<Key, + return static_cast<unsigned int>(bit_key >> start) & mask; + } + }; ++#endif + + template<class Key, class BitKey> + struct radix_key_codec_floating +@@ -225,6 +229,7 @@ struct radix_key_codec_base<Key, typename std::enable_if<::rocprim::is_integral< + : radix_key_codec_integral<Key, typename std::make_unsigned<Key>::type> + {}; + ++#ifndef _LIBCPP_VERSION + template<class Key> + struct radix_key_codec_base<Key, + typename std::enable_if<std::is_same<Key, __int128_t>::value>::type> +@@ -236,6 +241,7 @@ struct radix_key_codec_base<Key, + typename std::enable_if<std::is_same<Key, __uint128_t>::value>::type> + : radix_key_codec_integral<Key, __uint128_t> + {}; ++#endif + + template<> + struct radix_key_codec_base<bool> +--- a/test/rocprim/test_utils_data_generation.hpp ++++ b/test/rocprim/test_utils_data_generation.hpp +@@ -268,6 +268,7 @@ inline OutputIter segmented_generate_n(OutputIter it, size_t size, Generator&& g + return it + size; + } + ++#ifndef _LIBCPP_VERSION + template<class OutputIter, class U, class V, class Generator> + inline auto generate_random_data_n(OutputIter it, size_t size, U min, V max, Generator&& gen) + -> std::enable_if_t<std::is_same<it_value_t<OutputIter>, __int128_t>::value, OutputIter> +@@ -299,6 +300,7 @@ inline auto generate_random_data_n(OutputIter it, size_t size, U min, V max, Gen + + return segmented_generate_n(it, size, [&]() { return static_cast<T>(distribution(gen)); }); + } ++#endif + + template<class OutputIter, class U, class V, class Generator> + inline auto generate_random_data_n(OutputIter it, size_t size, U min, V max, Generator&& gen) diff --git a/sci-libs/rocPRIM/rocPRIM-6.3.0.ebuild b/sci-libs/rocPRIM/rocPRIM-6.3.0.ebuild new file mode 100644 index 000000000000..cd561fb6b22d --- /dev/null +++ b/sci-libs/rocPRIM/rocPRIM-6.3.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} +inherit cmake flag-o-matic rocm + +DESCRIPTION="HIP parallel primitives for developing performant GPU-accelerated code on ROCm" +HOMEPAGE="https://github.com/ROCm/rocPRIM" +SRC_URI="https://github.com/ROCm/rocPRIM/archive/rocm-${PV}.tar.gz -> rocPRIM-${PV}.tar.gz" +S="${WORKDIR}/rocPRIM-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="benchmark test" +REQUIRED_USE=" + benchmark? ( ${ROCM_REQUIRED_USE} ) + test? ( ${ROCM_REQUIRED_USE} ) +" + +RDEPEND="dev-util/hip + benchmark? ( dev-cpp/benchmark ) + test? ( dev-cpp/gtest )" +BDEPEND="dev-build/rocm-cmake + >=dev-build/cmake-3.22" +DEPEND="${RDEPEND}" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-6.3.0-expand-isa-compatibility.patch + "${FILESDIR}"/${PN}-6.3.0-fix-clang-template.patch + "${FILESDIR}"/${PN}-6.3.0-fix-libcxx.patch +) + +src_prepare() { + # install benchmark files + if use benchmark; then + sed -e "/get_filename_component/s,\${BENCHMARK_SOURCE},${PN}_\${BENCHMARK_SOURCE}," \ + -e "/add_executable/a\ install(TARGETS \${BENCHMARK_TARGET})" -i benchmark/CMakeLists.txt || die + fi + + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + # too many warnings in tests + append-cxxflags -Wno-explicit-specialization-storage-class -Wno-deprecated-declarations + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_TEST=$(usex test ON OFF) + -DBUILD_BENCHMARK=$(usex benchmark ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + # uses HMM to fit tests to default <512M iGPU VRAM + ROCPRIM_USE_HMM="1" cmake_src_test -j1 +} diff --git a/sci-libs/rocRAND/Manifest b/sci-libs/rocRAND/Manifest index d62116184ab6..7b41aed19296 100644 --- a/sci-libs/rocRAND/Manifest +++ b/sci-libs/rocRAND/Manifest @@ -7,8 +7,10 @@ DIST rocRAND-5.1.3.tar.gz 11729425 BLAKE2B f61aaedb7b72ceba3868a2069c93db1e2cd88 DIST rocRAND-5.6.0.tar.gz 23189913 BLAKE2B 2418a90c323f483d1f92630df7134bc060b9052f580259924e79680a7ec37857574973dda69dc3c28fdd5b88a5fc1d29757ed637fcde0730c53b9a5f09668aba SHA512 cccd26a6b80a7705644803a85dad3a43de3f4e2f73f964f2b5aa410f71d3782b68d6cc1ad60b7f7be5193a94098ed3fa25cad30c3acbc141522cdd738d3328a5 DIST rocRAND-5.7.1.tar.gz 23189653 BLAKE2B c70ab6f3b718c2430394f63b93bee15fa72daae704883fdb203b98b0dc4763b46bc27886af64c48bf4ebe8da9b919158b8cd346f70f9b76bf0492ce3b2c1e20e SHA512 4d74bce9fbd3cb45e3f057d38df747270c6986fea7ad524f7a88109b6a53a4ea5dcd60d4bbf2364888501e9444245fb6898bb79fccad0e37b61e819e8c4ed863 DIST rocRAND-6.1.1.tar.gz 26683143 BLAKE2B 4108584c6372adbf2f9ef887cf1aa08f5afdfa489ba0739d247e693628f3e23978fe023c2896e7bff666b8822b0011fd3f635338b013898f8d76b3f31ec21f6c SHA512 d8df0e6bf843719e59434c952ef56b112ada23d0c226bec9f2974ed762500202ac809f495de61a4086289e35c2f4b670f4ed7dcd7092a158c0a731c368950a44 +DIST rocRAND-6.3.0.tar.gz 44906536 BLAKE2B 204ba943ba840d78dfc7a69f762dca270f7cb9633dcb9f47df0832958b0c6bf279b0154539c01d0a6037aed9c8ec38edbd566fc102410687d188ff7299d23515 SHA512 aa8f6abc798ac1b24908ec5ef45b38bc63ee79ccf7c333b42f16cb0155f22d1fea34753e61de93a4eaf485457124f23626dd79d35021e3e896bff915a2722455 EBUILD rocRAND-5.1.3.ebuild 1983 BLAKE2B ea0f8aeebc7d7eaf8bbfe682ea1b4f52c789df5250b05cba6728db6af46c30f852d783c9c5254bde7f7eec36854ab857a18ab0d3536db50ebd0bc016bf82bbb6 SHA512 f4a139505f8b64ae36d912730ac40c78b14dee492cc75499536f8b0697bc3fdaa31c37efc1572faba02ff10952cef0f489a90a72904fc589cd71f5a222f2e2aa EBUILD rocRAND-5.6.0-r1.ebuild 1381 BLAKE2B 398870e0a0a5d68eaccf173fca87e1d5086e8818e45b56a9811113e3d2038add46bf370af35771079928dfd0770575c74d79aeff92cc149eacf4dbf55ee67643 SHA512 a0d94616f9b63904aab41dbee8e73ba013a6e1e59a8be3526d7f48ec0c7b2463b7282c66f6ad1c0984ee254b9a13d39ae40ea9a272cf9f2213c1a0b5d680a586 EBUILD rocRAND-5.7.1.ebuild 1512 BLAKE2B 52baabeaa5bf7af55555cde6afb2165f36a409150a5d64a0662145d59cff880352a10a42c352b1d989626283295061222be87c9ecff74b998bc3bd4adff98488 SHA512 a909992ee8631bbd0fc4b875d5bc10ca9cb2f6aaead2611978632f0df55a078cf784e9833613c45b28916e6806de5bfecdeb9872784eba7eea990b9c3f720884 EBUILD rocRAND-6.1.1.ebuild 1363 BLAKE2B d76f7774ae483209e47b4a9ecfd79e45e800b4f7d37b0294a565ffced89ea4522239aca07b145720060564108f93d8445dd1b239e38047cedca47ce32d6fac39 SHA512 6bb257e6620b24195328b1c6da356e6b8ec20a79c6317e4c8c8f2be503b49def57257f493306598a24b74ccdf579808ca6651f0dcb99b20d68586bd148bec40e +EBUILD rocRAND-6.3.0.ebuild 1363 BLAKE2B d76f7774ae483209e47b4a9ecfd79e45e800b4f7d37b0294a565ffced89ea4522239aca07b145720060564108f93d8445dd1b239e38047cedca47ce32d6fac39 SHA512 6bb257e6620b24195328b1c6da356e6b8ec20a79c6317e4c8c8f2be503b49def57257f493306598a24b74ccdf579808ca6651f0dcb99b20d68586bd148bec40e MISC metadata.xml 672 BLAKE2B 418c0adb9c54e60ffbcfdc6abf3bee2c7ca17a5d4e4022f84ed9cdd654f6470a2bb2336f6fdf01766f9ff42eb599d1a155fa575a658c1459c3580396a21847c4 SHA512 9be6210f28457c4e71adaabf3f66f0f58bf8f1db78bb69ea43ed9e621d8f8115a04f05d8db7814725198f2a3e70dbcb723d89ccf5b88ed08b090c5f15f6e370f diff --git a/sci-libs/rocRAND/rocRAND-6.3.0.ebuild b/sci-libs/rocRAND/rocRAND-6.3.0.ebuild new file mode 100644 index 000000000000..e3b1aa20b634 --- /dev/null +++ b/sci-libs/rocRAND/rocRAND-6.3.0.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="Generate pseudo-random and quasi-random numbers" +HOMEPAGE="https://github.com/ROCm/rocRAND" +SRC_URI="https://github.com/ROCm/${PN}/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/rocRAND-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-5.7.1_fix_generator_alignment.patch +) + +RDEPEND="dev-util/hip" +DEPEND="${RDEPEND} + dev-build/rocm-cmake + benchmark? ( dev-cpp/benchmark ) + test? ( dev-cpp/gtest )" +BDEPEND="dev-build/rocm-cmake + >=dev-build/cmake-3.22" + +src_configure() { + rocm_use_hipcc + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_TEST=$(usex test ON OFF) + -DBUILD_BENCHMARK=$(usex benchmark ON OFF) + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + export LD_LIBRARY_PATH="${BUILD_DIR}/library" + # uses HMM to fit tests to default <512M iGPU VRAM + ROCRAND_USE_HMM="1" cmake_src_test -j1 +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}"/benchmark + dobin benchmark_rocrand_* + fi +} diff --git a/sci-libs/rocSOLVER/Manifest b/sci-libs/rocSOLVER/Manifest index ee28a681e3df..567bb80f4cdd 100644 --- a/sci-libs/rocSOLVER/Manifest +++ b/sci-libs/rocSOLVER/Manifest @@ -5,8 +5,10 @@ DIST rocSOLVER-5.1.3.tar.gz 545627 BLAKE2B 2cca24a1310efba7f8c66d1614fb50704221e DIST rocSOLVER-5.4.2.tar.gz 674866 BLAKE2B 0628353d567da92e3f7c3a11e19859329f3ea916184d554ee9c7172084ee4698c93408f397f493331d4dc47d833c56ead41bb4445081ba9ac73809ca0478770c SHA512 b3a60c65a18c3864568e1e0b1524850eb1b322f6005cf8a2763c9b457e43e03c8ce74be1d13f3cc3adef1f6ac979f54fb903831f4a60447a9a915a40dcbe5ff6 DIST rocSOLVER-5.7.1.tar.gz 1859403 BLAKE2B f7a40494deda9dd66f2fb2f57e13665688e89e1f82733701ec60a520bc4b9f7d5899ada618a37e73baa3a910757be4f11d5fced5d4d2ad82c56918b34d265511 SHA512 78e0a2b5b069378696afebf5e3e023449b3d7705aa79099eb7721c142d7525255825b41bf413324c33178091315e3909980a1bf0cbb66e0891c85e757858ee1c DIST rocSOLVER-6.1.1.tar.gz 2971118 BLAKE2B 2611b6b65704e7cd64df682728013f07d20c6e17e6729cec7befb91dbed57aabaaed2887a252d4ae610fe0bcb336dfcd4b98d63c107694c22e35be06d06363db SHA512 a96901226cbe5b410fa2885023a080b5ca7dc4659be92b363c37e10eba97d3da09d97488ecdc040452a535ad3284017c64b3b68646f258655583302baa009f34 +DIST rocSOLVER-6.3.0.tar.gz 3077185 BLAKE2B 2ac2260aa631756d32a92b9386bda16a46a1b16922072d6962497b2f009c237a0386cc0006ffdd56e6396322fc2408d49fc18e2ccd7120492a2270fce3eba3d9 SHA512 a2655cce8c2eb287893988e8b69e77e2dbcad0f627fac74916be2789cd3357cf29f3e3090a9c88a86ef9a0e80dd0aa949ddfb145a6a0d1c128eac0a8fe708d94 EBUILD rocSOLVER-5.1.3-r1.ebuild 1939 BLAKE2B 5106e36577bdfbbba5039de1007a9d96587354bb634f2ae4cec76c644144ab6b5527082ba96a0039c42c2e0984c1abf99cc30c6d8bb3a3867c45348245ced66f SHA512 8d6abd695f2596fef6f6c2fb66e168ba5b087b71360ffebfd4a0aaa3796d21b9e9deb215e4368ca36a42ede7ac91415ed6641e20e4ac1d40fa420bbdf1cf44b9 EBUILD rocSOLVER-5.4.2.ebuild 1537 BLAKE2B 8881bd0881366f2315011b8fca3562bf85f2fbed0c5522b47b18794366e6d26bf800da60a5f1d73f74b0f4397b6407cea042e6ed9e10595017e51441fe221ea6 SHA512 b9d212bc359301a901750ce682f4658a9ba927950800f5e4692f26991ee1aee86d0465e9a7af5eeef61750fe5799a7e4e636dffd097a8a604208ef8764e961b9 EBUILD rocSOLVER-5.7.1.ebuild 1536 BLAKE2B c85b59fc74642843d586c33e81b6d0e3504e8b53d639072eb65a46112ca56fb229fa6a312b5b2f7e3d8061e89716530b38a4f497ed1c0a512117312c81cafc67 SHA512 36f9bcff6650fe09fbe4227904d1b05259208fed1935f4b8a29e297102e81d77ded767c3392a78b126790ea56413fc56e6828774881bc4313a2714c2a0b9ef2c EBUILD rocSOLVER-6.1.1.ebuild 1439 BLAKE2B 637f2a432d41dc71231021e419c46303f0882820d268b68b03dacb386b0bb58d7deecba8d8fa2a2b6be80f7040df244ccea90da5546f69f84d348367d7f18e5a SHA512 704a0ba8930b519afd224f6f7713d6ee743ea6d40f9c3bc7a53ffe449b2e9a6fb1ad4c1407891ea2129d43ebbc04308db235e6cc3ff558f9456068499a13fa05 +EBUILD rocSOLVER-6.3.0.ebuild 1678 BLAKE2B 64cc0c35bcbfae7cab035747071d83a69fd1f58c9dbd097df1f5326ef8d383912128d903bfcf62e0dea773cb8f0773082848ac290ffc25b0a9daf269fe85c63d SHA512 25b7e8b4ce820b18ee53c45228560022adb2c7991a43678d955ff35d81719071f080c232e5d37979c2e5393bf86461112f9aad6470823f2c4c90da138addb1d0 MISC metadata.xml 846 BLAKE2B 4f740804d76db5a55b3ee7bfc1e4e79edb192a0cb3962bee1e1326af0e1b2cdf9e1e410bf0557d0adc2a8e34592b8bf01eb49b951c50c4af3a97c7275c9e3629 SHA512 c8c0d4b5559b2ebb6323137bb6d7017cf50d674e05fb36533c75d3ffe53711b126798cc787521b0f9920c9e510ac163aaefd723b509fe1563d138f393bccbf2c diff --git a/sci-libs/rocSOLVER/rocSOLVER-6.3.0.ebuild b/sci-libs/rocSOLVER/rocSOLVER-6.3.0.ebuild new file mode 100644 index 000000000000..0cb4a4616a06 --- /dev/null +++ b/sci-libs/rocSOLVER/rocSOLVER-6.3.0.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake edo flag-o-matic rocm + +DESCRIPTION="Implementation of a subset of LAPACK functionality on the ROCm platform" +HOMEPAGE="https://github.com/ROCm/rocSOLVER" +SRC_URI="https://github.com/ROCm/rocSOLVER/archive/rocm-${PV}.tar.gz -> rocSOLVER-${PV}.tar.gz" +S=${WORKDIR}/${PN}-rocm-${PV} + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +IUSE="test benchmark" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RDEPEND="dev-util/hip + sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] + sci-libs/rocSPARSE:${SLOT}[${ROCM_USEDEP}] + dev-libs/libfmt + benchmark? ( virtual/blas )" +DEPEND="${RDEPEND}" +BDEPEND="test? ( dev-cpp/gtest + >=dev-build/cmake-3.22 + virtual/blas )" + +RESTRICT="!test? ( test )" + +src_configure() { + rocm_use_hipcc + + # too many warnings + append-cxxflags -Wno-explicit-specialization-storage-class + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -Wno-dev + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DROCM_SYMLINK_LIBS=OFF + -DBUILD_CLIENTS_SAMPLES=NO + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF) + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}"/clients/staging || die + # No filters: 64m28s on gfx1100 + # 'checkin*-*known_bug*': 1m35s + HIP_VISIBLE_DEVICES=0 LD_LIBRARY_PATH="${BUILD_DIR}/library/src" \ + edob ./rocsolver-test --gtest_filter='checkin*-*known_bug*:*GVD*batched*' +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dobin clients/staging/rocsolver-bench + fi +} diff --git a/sci-libs/rocSPARSE/Manifest b/sci-libs/rocSPARSE/Manifest index 5d1f55c658cd..bfafd4b77a63 100644 --- a/sci-libs/rocSPARSE/Manifest +++ b/sci-libs/rocSPARSE/Manifest @@ -4,6 +4,7 @@ AUX rocSPARSE-5.0.2-remove-matrices-unpacking.patch 1205 BLAKE2B 0d903453692025f DIST rocSPARSE-5.1.3.tar.gz 943788 BLAKE2B f9d5fc34d74bc10f3e5bd0a18da41fe9b35a2f01aca3a74979960958fd0e7648fca96493ba9d767119a452dd75ede0733959d0d4bae84615b7a1ff212c8412a3 SHA512 735aa210bbdc3f31b0ed4defe0288606e255788e877f24ed25506d780552a779305fe5bfd692a3e720e9b286073894300fcbcf161d41e1b23abf2110a9536bf3 DIST rocSPARSE-5.7.1.tar.gz 1167162 BLAKE2B 20ed88c87afbb041a31aa8bf867dca7ee670af093347c9c6a68b0750e70c796e7cfd599f84a58de2b8038f7681524bcb5909230fc340d1575dae3b72089ec650 SHA512 cd48884c51fcddcb26c42920cf477999160b3f06da4ab182f746a18d1fe54f697d89b1e470c550bd2330b26fb596d4a5baadf64366145e0d07f3fd8891f9af59 DIST rocSPARSE-6.1.1.tar.gz 1367035 BLAKE2B fc981df5913ea527bb4a7d3eba69373ebc7b74319f387e9f42a94feb1ec029ecca15618ea2d5ff7a91cb6e8959f164ab4be57755ee17db5f155f3b0e373cc487 SHA512 f87bd724b92fdb35e1c70cafcf09d95ab65f514bacfe1c59c5f0a2a75a8bae7a7dca2ee093ecd2e05adf542cc00165c0f8bf0a67e98013e2c4c72145ba951db2 +DIST rocSPARSE-6.3.0.tar.gz 1490336 BLAKE2B 05260170c757247a93c4169603dd8f0c0ce8e1e83ca83775783bee243ed9d174af7762a39f252b1434fb6af8a86fdcc11a7994af79e8a8b9ea9f199670ab3a74 SHA512 c8ddd942ba5765f01457391d028599e8daecd107771a2ff7948f537756c323be516d40fc52f7443472db76f5d7411dcd266f8dbc7f0ae9d9cee8270ec8dcb1f7 DIST rocSPARSE_ASIC_320k.tar.gz 11301444 BLAKE2B a00cc4a3ededab3fb56339319e34e936645ddce2dee3c630153b37e337384c207b0a2829227fb7f4c2db1fe33383e97410ab7ad459d391c025f5410843d51cf2 SHA512 1db3af391c30a371c1ac0087436e266721474273a39d5b2b6d56408d950dcbbee004750e4dce4e3dbc4cb512f38f6d945676d7f29b62c52fd5a7fed0fe789e03 DIST rocSPARSE_Chebyshev4.tar.gz 50165660 BLAKE2B f1a95554c8f38937f501488fabfd406b773eb980d7463cadac0de162529ac2f834c655cadd2b65f4c42a8487bc2d67c749601ae33bd789051f9e4d1e157196a0 SHA512 fdec4947a4af923d28b4be8d23690fd6d356c58f8344a5dcdd2e3fa61769d83e47a84d65316b527e6e82d9f988de2675a852367d406e44b44d784137a90b95c0 DIST rocSPARSE_Chevron2.tar.gz 3210636 BLAKE2B 919bc19931cbcb32c09e6b623c9d3890400895dfd65e83845d351a8e3dd8b30ef43374c3c0ca3ee9708c81b5fb8886f1a4adbea6086495f08f9498f19a2279d5 SHA512 22b71deddec4f1af5b239d4065089230cf70e521102803a77ab3f16b34a0d69534817e54d81dfa7f8d1f299932c0f0424237baeb3d8289bcfffa4b902b00e256 @@ -31,4 +32,5 @@ DIST rocSPARSE_webbase-1M.tar.gz 11360460 BLAKE2B 01b1d06adb5fb32fa402ed888d25a7 EBUILD rocSPARSE-5.1.3-r1.ebuild 4960 BLAKE2B db6aa536d619dcadf79787ea73d5cae6098b9344c30d290423f582cdeff23df09d493e9df698c79c768afc9f6c61143db14835ae8ccff1f66a9eaa764605b812 SHA512 2a713a8630a399292646191b1ae7dee2acddcffddc1cbbff2ed66408715e64b7bf370ace80a3206c47f1560a51385f9413f4b61e4516d56b3934d921ef3bc111 EBUILD rocSPARSE-5.7.1-r2.ebuild 4917 BLAKE2B 0f671c24cbdaaab4f2c5f41394a0164bb152b82c45c9f55c169c4785bb7ec51c82ebc47911cdc1d5fd1285a809c860f609437cefb19c34a37a02285102211c2a SHA512 055e7eca53225cd1b14e2fb6c86a30505506dd83c1cbe3b84abd9b2081fb06f993e54376a1f04e4ef4322a9c4cbe8367a6cc797993bd5f104acba8e9422c0de6 EBUILD rocSPARSE-6.1.1.ebuild 4319 BLAKE2B e46bdae6c3c2b29fbddee9152b930d021c752622c4f2fce93ca20a8f63cc111bb20f5ae9bb4b640f136e255ea89e22dcaf1754bc98181f8f6b258c8108e4b656 SHA512 29949ce5def2c52c93c6f85d00dc84d3978ba1425070d4a32639002a6840604742d68664ff196846f43f60ce5b3b780d886994c9a5df2dc3c62aa78cadb1a7f2 +EBUILD rocSPARSE-6.3.0.ebuild 4574 BLAKE2B 2187f8f70f4870402daf9d55b1ac292e7f51b22f75153612b4febbae354c129410ce467d9eaed99731f0e7f7207904e8e22cb0b50d1b75762c1e477224d51feb SHA512 2b1f293255445fcb7eaed05b5a4a7523741a696d6e4073c5edc2e21d69882b8d50cf661c3d0041ed61d1a93c518be33740fdc8259cc28e1046bad5954faff660 MISC metadata.xml 669 BLAKE2B 62133bd86a945eedaba10a5507a30d2dac62984558e74540860bbde3d12cf971de129d5c6e046b3916f4cf048c60aeb87553385b8f28d50ce0046ec04e90385d SHA512 6717bc1ad49a85001695265b3571c3936da67d3ded431149d6d9c98b094386a8899fcbf2375ca799c3e9c742c48460ac482418a53189097f5a12510f8a3ce628 diff --git a/sci-libs/rocSPARSE/rocSPARSE-6.3.0.ebuild b/sci-libs/rocSPARSE/rocSPARSE-6.3.0.ebuild new file mode 100644 index 000000000000..87320ae0e017 --- /dev/null +++ b/sci-libs/rocSPARSE/rocSPARSE-6.3.0.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +ROCM_VERSION=${PV} + +inherit cmake edo flag-o-matic python-any-r1 toolchain-funcs rocm + +DESCRIPTION="Basic Linear Algebra Subroutines for sparse computation" +HOMEPAGE="https://github.com/ROCm/rocSPARSE" + +SRC_URI="https://github.com/ROCm/rocSPARSE/archive/rocm-${PV}.tar.gz -> rocSPARSE-${PV}.tar.gz +test? ( +http://sparse-files.engr.tamu.edu/MM/SNAP/amazon0312.tar.gz -> ${PN}_amazon0312.tar.gz +http://sparse-files.engr.tamu.edu/MM/Muite/Chebyshev4.tar.gz -> ${PN}_Chebyshev4.tar.gz +http://sparse-files.engr.tamu.edu/MM/FEMLAB/sme3Dc.tar.gz -> ${PN}_sme3Dc.tar.gz +http://sparse-files.engr.tamu.edu/MM/Williams/webbase-1M.tar.gz -> ${PN}_webbase-1M.tar.gz +http://sparse-files.engr.tamu.edu/MM/Bova/rma10.tar.gz -> ${PN}_rma10.tar.gz +http://sparse-files.engr.tamu.edu/MM/JGD_BIBD/bibd_22_8.tar.gz -> ${PN}_bibd_22_8.tar.gz +http://sparse-files.engr.tamu.edu/MM/Williams/mac_econ_fwd500.tar.gz -> ${PN}_mac_econ_fwd500.tar.gz +http://sparse-files.engr.tamu.edu/MM/Williams/mc2depi.tar.gz -> ${PN}_mc2depi.tar.gz +http://sparse-files.engr.tamu.edu/MM/Hamm/scircuit.tar.gz -> ${PN}_scircuit.tar.gz +http://sparse-files.engr.tamu.edu/MM/Sandia/ASIC_320k.tar.gz -> ${PN}_ASIC_320k.tar.gz +http://sparse-files.engr.tamu.edu/MM/GHS_psdef/bmwcra_1.tar.gz -> ${PN}_bmwcra_1.tar.gz +http://sparse-files.engr.tamu.edu/MM/HB/nos1.tar.gz -> ${PN}_nos1.tar.gz +http://sparse-files.engr.tamu.edu/MM/HB/nos2.tar.gz -> ${PN}_nos2.tar.gz +http://sparse-files.engr.tamu.edu/MM/HB/nos3.tar.gz -> ${PN}_nos3.tar.gz +http://sparse-files.engr.tamu.edu/MM/HB/nos4.tar.gz -> ${PN}_nos4.tar.gz +http://sparse-files.engr.tamu.edu/MM/HB/nos5.tar.gz -> ${PN}_nos5.tar.gz +http://sparse-files.engr.tamu.edu/MM/HB/nos6.tar.gz -> ${PN}_nos6.tar.gz +http://sparse-files.engr.tamu.edu/MM/HB/nos7.tar.gz -> ${PN}_nos7.tar.gz +http://sparse-files.engr.tamu.edu/MM/DNVS/shipsec1.tar.gz -> ${PN}_shipsec1.tar.gz +http://sparse-files.engr.tamu.edu/MM/Cote/mplate.tar.gz -> ${PN}_mplate.tar.gz +http://sparse-files.engr.tamu.edu/MM/Bai/qc2534.tar.gz -> ${PN}_qc2534.tar.gz +http://sparse-files.engr.tamu.edu/MM/Chevron/Chevron2.tar.gz -> ${PN}_Chevron2.tar.gz +http://sparse-files.engr.tamu.edu/MM/Chevron/Chevron3.tar.gz -> ${PN}_Chevron3.tar.gz +http://sparse-files.engr.tamu.edu/MM/Chevron/Chevron4.tar.gz -> ${PN}_Chevron4.tar.gz +)" + +S="${WORKDIR}/rocSPARSE-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="benchmark test" +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RDEPEND="=dev-util/hip-6* + sci-libs/rocPRIM:${SLOT}" +DEPEND="${RDEPEND}" +BDEPEND="test? ( + dev-cpp/gtest + >=dev-build/cmake-3.22 + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') +) +" + +RESTRICT="!test? ( test )" + +python_check_deps() { + if use test; then + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" + fi +} + +src_prepare() { + # use python interpreter specifyied by python-any-r1 + sed -e "s/\${python}/${EPYTHON}/" \ + -i clients/tests/CMakeLists.txt || die + + cmake_src_prepare + + # Test need download data from https://sparse-files.engr.tamu.edu (or other mirror site), check MD5, + # unpack and convert them into csr format + # This process is handled default by ${S}/cmake/ClientMatrices.cmake, but should be the responsibility of portage. + if use test; then + mkdir -p "${BUILD_DIR}"/clients/matrices + # compile and use the mtx2csr converter. Do not use any optimization flags, because it causes error! + 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}").csr + ebegin "Converting ${mtxfile} to ${destination}" + deps/convert "${mtxfile}" "${destination}" + eend $? + done + fi +} + +src_configure() { + rocm_use_hipcc + + # tons of warnings in tests + append-cxxflags -Wno-explicit-specialization-storage-class + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_CLIENTS_SAMPLES=OFF + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + -DBUILD_CLIENTS_TESTS=$(usex test ON OFF) + -DBUILD_CLIENTS_BENCHMARKS=$(usex benchmark ON OFF) + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}/clients/staging" || die + LD_LIBRARY_PATH="${BUILD_DIR}/library" edob ./rocsparse-test +} + +src_install() { + cmake_src_install + + if use benchmark; then + cd "${BUILD_DIR}" || die + dobin clients/staging/rocsparse-bench + fi +} diff --git a/sci-libs/rocThrust/Manifest b/sci-libs/rocThrust/Manifest index 7365f9ccfb6b..d4a9a78e3928 100644 --- a/sci-libs/rocThrust/Manifest +++ b/sci-libs/rocThrust/Manifest @@ -1,8 +1,12 @@ AUX rocThrust-4.0-operator_new.patch 1699 BLAKE2B 1f8e4eb035768acd424cc2bae173c2c107b15b7f670c430ff5db5bb3657fdcafcea7933890176537c6147c1bee3cb675464d6d948724ba186868ff277eaa71f2 SHA512 5d9d48561e7feabc9341f13877d7e6bd49b59b140fe249956e87e785ed8afd1222aa1e7d77759af6ad8843e87d21362ba85ac9204bfcf160f30a4bcfb3d2e88b +AUX rocThrust-6.3.0-fix-libcxx.patch 479 BLAKE2B 89c97bd8dccad195a3486a3e6741734e8dab9523ddb1c766372aef83406ff41293aef78b4c727198be44b91e1faa6d40e396f1286b6b1123afd6ecd1241314da SHA512 f7934cc0b38bc1e35335978b30dde69c47ba211f5c6798f6fbf4981fd0d9da7ba090f3f3e96050b4f6ed3a90ed8d4c1d90ed5447e1f3ea47b18ca99d6b5151d9 DIST rocThrust-5.1.3.tar.gz 1186518 BLAKE2B 2defe71247915940917438d4f0d0a811dca7de39e5168248968fa9c165b81d94b0e20f3df9b84db1fbdcd2eb87942dec5d3adbbe1a699eb51eeb4e1b2f0a88d0 SHA512 189c70343a410cf3f3c1589ef24c68a38b5270d8780d15261a124b8250f279a3c3c7afef38e6310d57cb1741b3ee75f0b4ac0bb9dfcf4a4fb0e7e6c0516faf74 DIST rocThrust-5.7.1.tar.gz 1122808 BLAKE2B 41a5d57d03c7f95baf861b772c9513c7fbc26eee8a2f388897eb9b9f9fad3cdad81e2a79932c5b9a6d88b4e1596bf64e59e01337943a036ddb792f7b352ecd31 SHA512 52a9640808f0ed78ae2d6f25e741af59ae4e977535a0431f16c0fa1ee9a395e6f389cf29e61c02ac274cf16fcd193e5df6fb2edc340059ab282ed7cd877fc8b4 DIST rocThrust-6.1.1.tar.gz 1147635 BLAKE2B e71288a4666ba1f23cf85d2d269f61f9085efaeb2921b7f3142c5ce0808380b27a8c07945a44b6a651747046020b412838a667232b1ba65308fd7fd336b840b4 SHA512 30eeb6df73ee0dc2361879337faae09cf19cd151510c6e22d774c22b4be19272f9980cc6ba2b2e42f43738a1e475f49fcb4384d66b24639746a05685a90e37d4 +DIST rocThrust-6.3.0.tar.gz 1205810 BLAKE2B bdf617ffac39deb345a2738a7d61ccf282af1ba2d49210aa15e5d3181f64f38bcb609d52d41db892579d9d03013b0ddcad6bc88cd58a3a90fa8e7989e01edfcc SHA512 e73e0fd743dcb5625099aad226b578145e350666eb52ce9682e53a40f4cb17a34f812a94321397acad8dfcf6c573eab86565a220bb42e501296b78450e42647e +DIST sqlite-amalgamation-3430200.zip 2676699 BLAKE2B b09c59772c920ddef7ba0b15b1721645541678bad9ecb23fb8ecfbb1733177cad836d1d75db8e0722ea7ab4701cfaca187b72c127e9959f7e4f116f1ec7fe41c SHA512 5ef0e65ee92a088187376fa82ccb182dffa35391dd4dbcb3fafeb0a6f1602ced1e212753837079a9cad007d73d3f5b8a67ca1a6596eba6cf0c695052fa307392 EBUILD rocThrust-5.1.3.ebuild 1929 BLAKE2B 04ef6dbe75793a05c9d2f994eb82d7816ec99abed0415e0a3a555aeda4e09267adac4db686d76c409a942c636f035433d33d0727e9c793cf3afdf8bfeaedc371 SHA512 e3867e21e481ccfb13318cb2ba02596e81be6e86b5026083b7091916adc850fe74a926cb98c129a3dbe6ee0ea9c12665849979d63628e081fe56465f746098c4 EBUILD rocThrust-5.7.1.ebuild 2054 BLAKE2B 16f51ff532eb679fa80ab0494066e3113962d01f7fd0927fa70efc923017cabcf09149df2f730a15d17fbd2f95162f051fa8b9b71cd984109236c0be090f2574 SHA512 ca20c3485ab1a0a5f19d15f0275a440176671a808411352582460c203ff00dcd8cde327cf70b54227b2e7eb3ae29005a00eb5e9b6f2a492080086b620a88d1d9 EBUILD rocThrust-6.1.1.ebuild 1313 BLAKE2B 6b420f4a5a8ee338d9ab33288f6fdeb69c3e7c25c6cc73b2fc292b043aea4af3e112fc36592bec1c20239115d3065b736b37d8acb74096f0e816a986e303b62a SHA512 cc6eb3585fccc752b7bd4c2e09a1cd5fdc1ba5a6b5782a85866b5ef89ea5f25a05339eb086514d2b79f3f929fbd9817c548a02009a6d5a462b684a9aa6931e4d +EBUILD rocThrust-6.3.0.ebuild 1625 BLAKE2B a6e93153c49a75ae5cc6339b23a4e187345a9631338a6b5219be4f1ec43053a9f565b3ed8b16867e50c7d6e0ef51223b4530fb06a1ce4060263c11974a899b44 SHA512 ae3c338ac4d8bfd96e773ae798e3235d6998d4a75a798327cb366ff9bbdd535066c4b9929ce5f99a82e1f83174bb175b2d66367f8f44eb027f9bc60569ee4b7e MISC metadata.xml 631 BLAKE2B 99edd995566ee67d4e2fb4fdc67eca30299e81bd657d57c24932b0bc0545c805abce9d2542dfcb9d61d7aa5639ac02dc5385a5d90bfa5fcb757b5fab9f1f11d6 SHA512 bc0f9411724711f1806f1681c6c55877b828807e9deb22123a92b1b1cfc19c2f423ddd111978bf04a3993555cdc984f654c049617e5919e18d09a093c4559136 diff --git a/sci-libs/rocThrust/files/rocThrust-6.3.0-fix-libcxx.patch b/sci-libs/rocThrust/files/rocThrust-6.3.0-fix-libcxx.patch new file mode 100644 index 000000000000..2db69a71bd20 --- /dev/null +++ b/sci-libs/rocThrust/files/rocThrust-6.3.0-fix-libcxx.patch @@ -0,0 +1,13 @@ +_VSTD macro was removed from libcxx +Upstream commit: https://github.com/ROCm/rocThrust/commit/bc24ef2613e282d57d96dcf4263e2fa2cab171e4 +--- a/thrust/type_traits/is_contiguous_iterator.h ++++ b/thrust/type_traits/is_contiguous_iterator.h +@@ -139,7 +139,7 @@ struct is_libcxx_wrap_iter : false_type {}; + #if defined(_LIBCPP_VERSION) + template <typename Iterator> + struct is_libcxx_wrap_iter< +- _VSTD::__wrap_iter<Iterator> ++ std::__wrap_iter<Iterator> + > : true_type {}; + #endif + diff --git a/sci-libs/rocThrust/rocThrust-6.3.0.ebuild b/sci-libs/rocThrust/rocThrust-6.3.0.ebuild new file mode 100644 index 000000000000..08376716982d --- /dev/null +++ b/sci-libs/rocThrust/rocThrust-6.3.0.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_VERSION=${PV} + +inherit cmake rocm + +DESCRIPTION="HIP back-end for the parallel algorithm library Thrust" +HOMEPAGE="https://github.com/ROCm/rocThrust" +SRC_URI=" + https://github.com/ROCm/rocThrust/archive/rocm-${PV}.tar.gz -> rocThrust-${PV}.tar.gz + test? ( https://www.sqlite.org/2023/sqlite-amalgamation-3430200.zip ) +" +S="${WORKDIR}/rocThrust-rocm-${PV}" + +LICENSE="Apache-2.0" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="benchmark test" +REQUIRED_USE=" + benchmark? ( ${ROCM_REQUIRED_USE} ) + test? ( ${ROCM_REQUIRED_USE} ) +" + +RESTRICT="!test? ( test )" + +RDEPEND="dev-util/hip + sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}] + test? ( dev-cpp/gtest ) + benchmark? ( + dev-cpp/benchmark + sci-libs/rocRAND:${SLOT}[${ROCM_USEDEP}] + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-build/cmake-3.22 + test? ( app-arch/unzip ) +" + +PATCHES=( "${FILESDIR}/${PN}-4.0-operator_new.patch" ) + +src_configure() { + rocm_use_hipcc + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_TEST=$(usex test ON OFF) + -DBUILD_BENCHMARKS=$(usex benchmark ON OFF) + -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF + ) + + if use test; then + mycmakeargs+=( + -DFETCHCONTENT_SOURCE_DIR_SQLITE_LOCAL="${WORKDIR}"/sqlite-amalgamation-3430200 + ) + fi + + cmake_src_configure +} + +src_test() { + check_amdgpu + # uses HMM to fit tests to default <512M iGPU VRAM + ROCTHRUST_USE_HMM="1" cmake_src_test -j1 +} + +src_install() { + cmake_src_install + + use benchmark && dobin "${BUILD_DIR}"/benchmarks/benchmark_thrust_bench +} diff --git a/sci-libs/rocWMMA/Manifest b/sci-libs/rocWMMA/Manifest index 99fdb97f5768..fdb695e3b988 100644 --- a/sci-libs/rocWMMA/Manifest +++ b/sci-libs/rocWMMA/Manifest @@ -3,6 +3,8 @@ AUX rocWMMA-6.0.2-use-system-googletest.patch 1292 BLAKE2B 358e7024dd80664ffc3f9 AUX rocWMMA-6.1.1-no-test-install.patch 854 BLAKE2B b8d4c15e578cae34eb116a633819eeb941ec85d98e3209fb0359ae9943e9a82ae905513f9ffdd5eed1f1f33fa613b7acb9544dfd314891863a72c54698d3f9ad SHA512 ae2b22e44092d876ad29c8bcabc01aae2ef4279e0ee8b2e8fa80ff2bae0bf3ef30f8f0d7a3e873d12b8ba876cb3aa7ca8cc4b919167f8d229263fc4f982e3e49 DIST rocWMMA-5.7.1.tar.gz 3163060 BLAKE2B 47ca55c0cd388ca51ad3843e656a31ce04d9e07988c26bfb69a7c61bfe497609408cfd20dcbe9c6698bd79b800a114ab67d582ced43dc6f1c4db4072e2901d99 SHA512 92c9c634fdf1f5319d34fabbf691df45600abdc5285a76b40255e7d6d260553076f65baa1eda566a163725e2a0cec0a85372eb07add39c65368e84505c176f50 DIST rocWMMA-6.1.1.tar.gz 3189782 BLAKE2B fd96d8f3ba8f21ee3544d532a59ffdefa1aefc94d73401f48d470f7f699e28771d5495e98c1ee316d8379167b70b945220be6670dee2757a62af162276a2fb0f SHA512 db2bfe805a4f33c48ee98c821efe0b261eca474af9e954843c83faa3335459bfe635326ba2cfc7b8b8ece2cf0f2c418f49ff6aa81537f8d3747cc729738a6b18 +DIST rocWMMA-6.3.0.tar.gz 3225622 BLAKE2B bfcb872393a11c809d1f7d09aeca554c24669650f4e61d5846104d0559b50a584081260ad566b1d79a2d107cc1f2bf9ea26751e0611cba9108a455a2ba48a3cb SHA512 5c72df14eabd0e766ffc03e41cd2e5a07ffb4ab518f7e6c2b1f23517c20a1c076d08a45f9940e499ede02c0d2c77f3f76f65f4748c7c8dfa2e747a406acf0aa1 EBUILD rocWMMA-5.7.1.ebuild 1212 BLAKE2B e0bd4413db21ddf0c3933154fd60c561462f21f054bac0990ce3788de9d437a51d128447cf38a59ba29f352e8a39d9e66f3c27ee1eb794f09edcdbf757a9a32f SHA512 cd78d160bee5e49c085b33defc407c26d493e4c9405003dc4d09a5f3fcde7fa22a0db140a6a0736e21e59bd8af39758dd519ba7d8c52c924799fc56bd55808b8 EBUILD rocWMMA-6.1.1.ebuild 1538 BLAKE2B 83267e2a8db5b56fa922592b5e99af37decc33f1b0061a893f73466329adea7b4f1366533b9c1d09a80d96d97c18bac435eef6dc1fc19d09a02920c2f38bf1a7 SHA512 f8c8e9263651f573e22a5f789604de21b56b99e1da7d270c185b450bbb87e589a2c32fb0f098776131d5b59837ce37e06bad87bc8236d28d25a6e00f6987b553 +EBUILD rocWMMA-6.3.0.ebuild 1755 BLAKE2B dac9f015c0321dac151e9aa023da3ec13eeb1e0b8b2682e23025a4fc7af43b1f9f7f79a3ec89abc71380579ef6a571c316e05dc0cd21102e2cc12fc9f0cd0431 SHA512 d5335a4c91daa1ed8be3cfed6ebb7cdef87a2e18821c6bb8cf6c2df21c94bf1061f0856e96e1dee26aaa3982313b7906eb68c28b0adb303f1cc08996c1b0cae6 MISC metadata.xml 468 BLAKE2B 00be6e38c18a77eebb430632acdd9da61aaa299c92cb733735bc7a40e1017e33d778783dd821f4122f46e9f390d7bc37c05c1b43e0abda915586eb83928e5f0a SHA512 9ed778246d9895dfdb2e881b533a2f53a0f6c0361671c33c065ce37e5f2ea4677e9885e28a66466c95e261dea909ec5de9fb79de44d9857520ed269849145247 diff --git a/sci-libs/rocWMMA/rocWMMA-6.3.0.ebuild b/sci-libs/rocWMMA/rocWMMA-6.3.0.ebuild new file mode 100644 index 000000000000..5a803b20ae90 --- /dev/null +++ b/sci-libs/rocWMMA/rocWMMA-6.3.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_SKIP_GLOBALS=1 + +inherit cmake rocm + +DESCRIPTION="library for accelerating mixed precision matrix multiply-accumulate operations" +HOMEPAGE="https://github.com/ROCm/rocWMMA" +SRC_URI="https://github.com/ROCm/rocWMMA/archive/rocm-${PV}.tar.gz -> rocWMMA-${PV}.tar.gz" +S="${WORKDIR}/rocWMMA-rocm-${PV}" + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +DEPEND="dev-util/hip:${SLOT}" + +IUSE_TARGETS=( gfx908 gfx90a gfx940 gfx941 gfx942 gfx1100 gfx1101 gfx1102 ) +IUSE_TARGETS=( "${IUSE_TARGETS[@]/#/amdgpu_targets_}" ) +ROCM_USEDEP_OPTFLAGS=${IUSE_TARGETS[*]/%/(-)?} +ROCM_USEDEP=${ROCM_USEDEP_OPTFLAGS// /,} +ROCM_REQUIRED_USE=" || ( ${IUSE_TARGETS[*]} )" + +BDEPEND=" + test? ( + dev-cpp/gtest + sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}] + ) + dev-build/rocm-cmake +" + +IUSE="${IUSE_TARGETS[*]/#/+} test" + +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.1-no-test-install.patch +) + +src_prepare() { + # unknown arguments for hipcc + sed -e "s/ -parallel-jobs=4//" \ + -e "s/ -Xclang -fallow-half-arguments-and-returns//" \ + -i CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + rocm_use_hipcc + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DROCM_SYMLINK_LIBS=OFF + -DROCWMMA_BUILD_SAMPLES=OFF + -DROCWMMA_BUILD_TESTS="$(usex test)" + ) + use test && mycmakeargs+=(-DROCWMMA_USE_SYSTEM_GOOGLETEST=ON) + cmake_src_configure +} + +src_test() { + check_amdgpu + + # Expected time on gfx1100 is 1260s (-j1) or 936s (-j32) + # Visible devices are limited to the first one to exclude APU (if not disabled in the BIOS) + HIP_VISIBLE_DEVICES=0 cmake_src_test +} diff --git a/sci-libs/rpp/Manifest b/sci-libs/rpp/Manifest index a2677e21b155..2e5953d991f8 100644 --- a/sci-libs/rpp/Manifest +++ b/sci-libs/rpp/Manifest @@ -1,4 +1,6 @@ AUX rpp-6.1.1-skip-install-license.patch 1046 BLAKE2B 3000d90e9d2ccb3191e18cba7b74c4318ded903103cc31a998cca9591297bd3203c578bac2a1415db7980dcd7db0c5678f9f5dbdce66bc0112b4fdbe6405909d SHA512 5b2818a151dd3dd27c1af9ae19a73cbdf3c1bb69ad16d51ad075f50e2488742792bd1ec6f00b38392660e765911942fb41fdea2c5f31bc76998d5f9b5c9fd2db DIST rpp-6.1.1.tar.gz 37016755 BLAKE2B 884090ab50e0a4a3aed4e52c5bbd934a8c5b62eca310471c30cf4c5a7cafdd36fed7894320b4d5246620b3c47e90fafd0f8160a7d4ed0295c7668c8d147f4b18 SHA512 a7c10bdd08739eba08209783decf0f4fd7c12194b9ebc63bd16e4cb998645110c089833efb83a77d4bed7f8599cf3a320608be28633f0dc956079f9d70e765f8 +DIST rpp-6.3.0.tar.gz 56092581 BLAKE2B 1a36d98b64745e7cb36322cf21a6983a7efcde737136cbf12c428edd315ce1dff5f92540e5f23750cce01a65d25c0a87e4429bb3ea98059c747569591fb0e22a SHA512 8bab18af168dca51f6a5c2d32e46ca133307d2cf48057c4e9cda6100ea17df54b22533fedbad6d4273904eca53df5a322153a2d7eb45c6ce7faff54d2e57a482 EBUILD rpp-6.1.1.ebuild 2127 BLAKE2B ee7e07eab9440959df1123a23d1112905e7af4763d9a2ca636424d9a4d60492f509016e4004808a90680410cc2d42bafd968117fb355e0759f4cdc306682e1d2 SHA512 90191804e681c39aa9c7059976436fabb7efab91f947cc04930fdd9d444429b222fc8c01fafd9ac5b53b78caaba6738b24bbdc379834b7d8b83e8dd76f4fc5a1 +EBUILD rpp-6.3.0.ebuild 2187 BLAKE2B 67b2c085b61082b8ebe9c3d796af7e055d3196e7a8860e46295ccfcd60b729eedd400047e273fe0bece3e53b020aeb2819278fdd6c6e5b6b97e6874089afe572 SHA512 0e1e0a104db0f3152ba0bccc28de071eb1b5419b6e4f0f766853df0ca0d9ac00a41ec51ecc03a323a322655ab3fe306d858736d65f490715666b410f206792b4 MISC metadata.xml 410 BLAKE2B 196192c40a427e78cfb88efe5ba4cd77399a2945bc1c8bb8728f0c43cab51f95ecf992e832c95e6607b48043a04f0680b21cd059cdfca3def9286530a4899e7b SHA512 a66340c6c4d62c10a5fdada9b63cab9784f75973a5132be56e52233341796c93423ed766a58733e3f22091057488aed9e0731e7cedd55caa0721e703df137d31 diff --git a/sci-libs/rpp/rpp-6.3.0.ebuild b/sci-libs/rpp/rpp-6.3.0.ebuild new file mode 100644 index 000000000000..e1bd48117964 --- /dev/null +++ b/sci-libs/rpp/rpp-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 flag-o-matic rocm + +DESCRIPTION="AMD ROCm Performance Primitives (RPP) high-performance computer vision library" +HOMEPAGE="https://github.com/ROCm/rpp" +SRC_URI="https://github.com/ROCm/rpp/archive/refs/tags/rocm-${PV}.tar.gz -> rpp-${PV}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +# pkgcheck warning: RequiredUseDefaults +REQUIRED_USE=" + cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_f16c + ${ROCM_REQUIRED_USE} +" + +RDEPEND=" + dev-util/hip:${SLOT} +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-build/cmake-3.22 + >=dev-libs/half-1.12.0-r1 + test? ( + dev-cpp/gtest + media-libs/opencv:= + ) +" + +IUSE="cpu_flags_x86_avx2 cpu_flags_x86_fma3 cpu_flags_x86_f16c test" +RESTRICT="!test? ( test )" + +DOCS=( CHANGELOG.md LICENSE README.md ) + +rcc_test_wrapper() { + local S="${WORKDIR}/${PN}-rocm-${PV}/utilities/rpp-unittests/HIP_NEW" + local CMAKE_USE_DIR="${S}" + local BUILD_DIR="${BUILD_DIR}/utilities/rpp-unittests/HIP_NEW" + cd "${S}" || die + $@ +} + +src_prepare() { + sed -e "s:\${ROCM_PATH}/llvm/bin/clang++:hipcc:" \ + -i CMakeLists.txt || die + + cmake_src_prepare + if use test; then + local PATCHES=() + rcc_test_wrapper cmake_src_prepare + fi +} + +src_configure() { + rocm_use_hipcc + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + -DROCM_PATH=/usr + -DBACKEND=HIP + -DBUILD_WITH_AMD_ADVANCE=OFF + ) + + cmake_src_configure + + if use test; then + append-cxxflags -I"${S}/include" + append-ldflags -L"${BUILD_DIR}/lib64" + local mycmakeargs=(-DROCM_PATH=/usr) + use test && rcc_test_wrapper cmake_src_configure + fi +} + +src_compile() { + cmake_src_compile + use test && rcc_test_wrapper cmake_src_compile +} + +src_install() { + cmake_src_install + + # remove unneeded copy + rm -r "${ED}/usr/share/doc/${PF}-asan" || die +} + +src_test() { + check_amdgpu + + cd "${BUILD_DIR}"/utilities/rpp-unittests/HIP_NEW || die + for params in "0 0" "0 1" "1 1" "2 1" "5 1" "0 2" "0 3" "0 4" "0 5" "0 8"; do + LD_LIBRARY_PATH="${BUILD_DIR}"/lib64 ./uniqueFunctionalities_hip $params || die + done +} diff --git a/sci-libs/symengine/Manifest b/sci-libs/symengine/Manifest index 7557b499a5c6..af3cf2691c9c 100644 --- a/sci-libs/symengine/Manifest +++ b/sci-libs/symengine/Manifest @@ -6,5 +6,5 @@ DIST symengine-0.12.0.tar.gz 898768 BLAKE2B 81bca3f59e864d2e37598a058cb4db97b1f9 DIST symengine-0.13.0.gh.tar.gz 942757 BLAKE2B 9c7e1a067fd2baff0c6fc360b1512f04ee0c77c1f408180c2384b29aac1feecc56bcd0453afce402c6963c2fc638202f623592eb5c0bcdf0a1715056e8fec425 SHA512 3d64149b507be586daabad4b9a99436b0d329b16b89db756c9a72812b37049199c0be1ed77b18d55063a6445d04bf44120e7afd90a961aebbc89df815e52ed5d EBUILD symengine-0.11.1.ebuild 2714 BLAKE2B cbbfbae23bdb9e6d4b7430f836fc97c7705fb71ed51d9ed009f9d3ea192248581d9bf7eddd658f1a577c71dc84a184fc98111a1662899392e3bebcaa4f9ab183 SHA512 184878e9e6bdaf672b7a40bd07d2797840146bd820b1638ce3428f518a8ceb31b51f2c5d3d9959c8c542601c8f3c6c5387d79dd27ea6afccf3d964cac02fc989 EBUILD symengine-0.12.0.ebuild 2474 BLAKE2B 8f2bf1b821e74abff81705e6889c8329e0cd584c020d2810cadddb5a3db0a9da88ee68ff48cf46138aeb97b2e20ed4c1ca5904f0eb0d1cb8a92d89b1c580401e SHA512 0a050721cfb402fdda35df3ebdd18f05f26ba3de736821dcf2f41ec312730e6b7c29314b190ce837ce1987f46820f4961d8bb0c586fbb1509779c88bb09594e2 -EBUILD symengine-0.13.0.ebuild 2506 BLAKE2B 92d71c293c1768a8fd054a7585b77bda07bb544bd4abe2cdd10a08efb66b33a179f754eb4be9c091afcfc8f96d0a5a36735c532d9d10140f904fe53c60d45cb9 SHA512 cd27f2a25bcf6cbdca4c958af4e537c4c4859e3145439d1520f7e010d48d3b7dd9c4e6aa6ff8340426f5aed17c54d2ac63b95e6f4043dd31eed86a207684d3f2 +EBUILD symengine-0.13.0.ebuild 2513 BLAKE2B 789b9ac6119c5044ed57989927e503ca1bfee1e3d0d35caf99a08d22dcdbca1753e4909141ee34530f5bfce535f4ce6cc5780a43de2d5fee57eb16a8ac8223a4 SHA512 1f51aea59ba98b8df4beed8736a5e8ef0abfda310c1225158c35731b0bb61333c39b2503e443a90e33a48cd3d714a00708cef204ffbbc9c59d3a8131cd45e0c2 MISC metadata.xml 1351 BLAKE2B 04ace153dd5a24c402e1a0759dd285e1e22b7813c59fba81058fc1503c8b0f80affaa9dea3158ee0dc0e9cb6215db237201af37f7ffcac2060a439d65d04c986 SHA512 c24ff488ac5a5ed54a7cf3b0ceefa55e069eaec4125e91f9e77f8490e64e82f1fd3f6feeacd0427671c493df748c810071b6360b41bfe5aa21bfc7d70c6c0b47 diff --git a/sci-libs/symengine/symengine-0.13.0.ebuild b/sci-libs/symengine/symengine-0.13.0.ebuild index 830f147347c9..5fd555c83313 100644 --- a/sci-libs/symengine/symengine-0.13.0.ebuild +++ b/sci-libs/symengine/symengine-0.13.0.ebuild @@ -17,7 +17,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" IUSE=" boost debug ecm +flint llvm +mpc +mpfr openmp primesieve tcmalloc test diff --git a/sci-libs/vtk/Manifest b/sci-libs/vtk/Manifest index 8f0170ac2f0e..5f1df54c4992 100644 --- a/sci-libs/vtk/Manifest +++ b/sci-libs/vtk/Manifest @@ -23,6 +23,6 @@ DIST VTKLargeDataFiles-9.3.0.tar.gz 247503839 BLAKE2B 68007af36148eaae43fc0fd75b DIST VTKLargeDataFiles-9.3.1.tar.gz 247505524 BLAKE2B 5de069309c59a8a73365fb9faba9904189d723fb72976f372e40db3eb100342a19fecd582bd0aa42fc1012675b442a8e42611632004d6b6d6708468c27a4265e SHA512 bbbf0c193432cb5d8a5618c41e66609c7e6f3e4f24f588124c46b537ecec28b5670420b7f77185da534e4098f8b95d8ec4e392fc017df934a84bfc9dc833f634 DIST vtkDocHtml-9.3.0.tar.gz 165538725 BLAKE2B 27874998679090d5442ecb3a394b53db05a0215cfee9f912bd01af1d5567efc51b4f56dacb960401195da4f3d385b335bbefc922a45d0199c99d619df0941f08 SHA512 8bf9cc87c4653a65ccc39d88d70b421a7b4353986d380cbf558cbf6e8a96435695a5d54aa7ce5bb1240cb46ca0fd9225a51183a39d1af1101d3f2876a2afc10b DIST vtkDocHtml-9.3.1.tar.gz 165542400 BLAKE2B da8084137b2848f82bf091535950738bd718e65cac8f461fdfb8e9c63ef6db68acfa02655531c8fe22e35f89395d2d066aa5b051abac0e774883552c898de6d9 SHA512 de0d2153c97864b49a8b99e6fbfc8bab78c1522d25bf40ed1f271a8bb4f1f205b008d6bd39f835816972c8439d01f78b68f34d1f88f87755174f0d559841ba29 -EBUILD vtk-9.3.0-r3.ebuild 36282 BLAKE2B bdc9308f7477a56f6b5e391942d829bb72e7446a058f8b61b2d931a6300ecf289486903a24a3c997057e135760d06a042bf1189147bb561fb3b91aa2969b34e4 SHA512 b6262a241a493c12d74e0c919f34d6d7d3a8544bbf4a0dc9b28fb1a2019f0ca6a046b476ad3064b870f5ab154adac3e717dc81e5dde4971d9feb52223d7af6d7 +EBUILD vtk-9.3.0-r3.ebuild 36326 BLAKE2B fc7d9d374e790071902e247c761817679eeaaa32b90f4db84cdd39e4a012648d13f4114478cb115389cb1a832fd2bfff3392671825774be2ee590d41b7908c0d SHA512 2e420d4f86289fee3656b9a06c665ec26fe0af3ef62dbc3152822fdfc8126cf5d51724b6351e32e2746dc97244800c59e0aa960b7f290e628f156e6246fb2cbe EBUILD vtk-9.3.1.ebuild 34528 BLAKE2B 3c9be925f33053b5088fbd384a162512f3a3419ad5fa61807275399162f5d71ee6e693f104ec9621a9f54e9e49eb7120166a6c647662835d5cc49d8b016a07b8 SHA512 7a4a79e96e60d3c7c7fe01486be10ab270ed6eb9f2be87a15f107de316265e8b9fb546ca68161cf1743152f885e03ea8f3ce3daaf5b32af6f66b0eaf2fd172f9 MISC metadata.xml 1765 BLAKE2B f17c8864280100ef5e6993cc9d529336b9b226e1110fe24bcde3ea8b045fa1aa89bdb36de0e7b76e8ed0b4e6ee0915c8700520a81811983541d4c89b3bcb8acd SHA512 7e5039d28711a39b96ad3d23812a744bd33db38ef9c2f58b5725dfff701b03543fb630f4014ccae117855d09229c36665d815b03591c3d38806be15a08d2a272 diff --git a/sci-libs/vtk/vtk-9.3.0-r3.ebuild b/sci-libs/vtk/vtk-9.3.0-r3.ebuild index 3a522724f066..ab57289f101e 100644 --- a/sci-libs/vtk/vtk-9.3.0-r3.ebuild +++ b/sci-libs/vtk/vtk-9.3.0-r3.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 @@ -168,6 +168,7 @@ PATCHES=( "${FILESDIR}/${PN}-9.3.0-core-octree_node.txx.patch" "${FILESDIR}/${PN}-9.3.0-ThirdParty-gcc15.patch" "${FILESDIR}/${PN}-9.3.0-r1-expat-2.6.0.patch" + "${FILESDIR}/${PN}-9.3.1-fix-fmt-11.patch" ) DOCS=( CONTRIBUTING.md README.md ) |