From a1c55a7e2f400a6170fd3df167bfdc299c05e2db Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 24 Feb 2023 21:49:24 +0000 Subject: gentoo auto-resync : 24:02:2023 - 21:49:24 --- dev-util/Tensile/Manifest | 10 +- dev-util/Tensile/Tensile-5.1.3-r1.ebuild | 86 --------------- dev-util/Tensile/Tensile-5.1.3-r2.ebuild | 87 +++++++++++++++ dev-util/Tensile/Tensile-5.4.2-r1.ebuild | 118 +++++++++++++++++++++ dev-util/Tensile/Tensile-5.4.2.ebuild | 89 ---------------- ...1-Change-cmake-name-for-msgpack-5-release.patch | 25 +++++ ...01-Detect-prebuilt-tensile_client-in-PATH.patch | 33 ++++++ .../Tensile/files/Tensile-5.4.2-gentoopath.patch | 2 +- dev-util/Tensile/metadata.xml | 3 + 9 files changed, 273 insertions(+), 180 deletions(-) delete mode 100644 dev-util/Tensile/Tensile-5.1.3-r1.ebuild create mode 100644 dev-util/Tensile/Tensile-5.1.3-r2.ebuild create mode 100644 dev-util/Tensile/Tensile-5.4.2-r1.ebuild delete mode 100644 dev-util/Tensile/Tensile-5.4.2.ebuild create mode 100644 dev-util/Tensile/files/0001-Change-cmake-name-for-msgpack-5-release.patch create mode 100644 dev-util/Tensile/files/0001-Detect-prebuilt-tensile_client-in-PATH.patch (limited to 'dev-util/Tensile') diff --git a/dev-util/Tensile/Manifest b/dev-util/Tensile/Manifest index d031785c2877..54ddb4ecfb51 100644 --- a/dev-util/Tensile/Manifest +++ b/dev-util/Tensile/Manifest @@ -1,15 +1,17 @@ +AUX 0001-Change-cmake-name-for-msgpack-5-release.patch 791 BLAKE2B 12cf15b06c3e8de4a17f231f408d17daceb4fdf828b5f20119fca271684424ed6f6b4278f05970e1f3230b8bc7654d5a7669ab6ee45908680ace08c2e63f1e5e SHA512 8b6a1e8ec2bfca5b650e79474f454247cfde453a24aa46ebcc0af0bdc00e727da6dbd8bd427bdf7fd710fb0950d862ca750f09579ef678a0fce860ffb96ac7fc +AUX 0001-Detect-prebuilt-tensile_client-in-PATH.patch 1175 BLAKE2B d8359a8613cee5b47887e0cfda10e9aea04761cc5d850dab1530d4462e7f88b8a087de62bf94e5d0c9bab4baf0cf0950644ea5da45eeee042bb70e56dc387e40 SHA512 07f3a2b846a7f17a55730fe459ea3b8dbf63a571511593d8aafbea5ce9b2e81c1fb2896d381196180aaa998009d489bab053b1fd6ab7e61219625934df3a3e2b AUX Tensile-4.3.0-output-commands.patch 1629 BLAKE2B c43395d8e8aeb956d5eb84c8a34ad4b995ed32499ceababeb22d5ca3ac5ee6e8ef353a1467a77943a441f0840b9a6ad1f53202ec8673ef3753aa2bec1395fec4 SHA512 45bdae1d87f6e31d337b22f146b9dee25f4f87357c6ac52bd843556dd742431db10efb55fb8ef815cc9941b5b9f05970d43a6fec0f2d9195c30c633e33d138bf AUX Tensile-5.0.2-fix-arch-parse.patch 424 BLAKE2B 43e716ccc9256c2f98cc1d2807e776599b384875161233d4a010a53f11a5764fd7a5b4c50ded1762737e9fbe7923b64e9353ee4590fd1b6b9b03ac621af35c9b SHA512 5913e7fc42bc5b43e1dcca531e4ef88b524325b497601171a9844013906c2ffc87469a4c55037c721ace5757c6aaf4d8bf8ca683f659f9d8988555c90425802a AUX Tensile-5.0.2-gfx1031.patch 5561 BLAKE2B 244bb644a90ba34f500f4d0cc634acf041cce42f9a5a9f10ee7bd1feff3b78b626b56f3b8cfa4005cc422ef643cd60a7da954618ff9f8f460568ff4b011136bc SHA512 1cd1dd95e481a76fde21dd09aac1ac02f1372e552eeb45eb100dc970639e28f52a709735aca6480d2286b8c747a75435aa7f2e2a288ffe2a596d6f75e4bd17ec AUX Tensile-5.0.2-use-ninja.patch 897 BLAKE2B f06a3831a43a4b6c00e7eb231cc13901f7b4a3a924a50d85ba81f9def535951c450a01504506476c1ee88317cbdf0c0c00a57cb5cd198ab44e8e0b94aefda25d SHA512 15404d3cd5dbc7b74e81092d86f9c49cd45fe4df645602849ff515baafa3890fd68ca808cbebd6ae37e951b382ff4446a31089306c950f8549431dfbe75c3b53 AUX Tensile-5.1.3-gentoopath.patch 3350 BLAKE2B 890ab24fbd99aede187bde67c8d6f586f625c30cff34da39e12b199b022170de8df3087c3581f9e635d5d12f31db0aa944a2628733417322621ab51b0292b01b SHA512 d17a948146e7ef2447ae92b2822f53cd77b0992297fd2a43598434db4f7c2095d269138ce5c0eedda73a34e193fc56401f22471f9eca68ec6026577f07a7fca1 AUX Tensile-5.4.2-fix-arch-parse.patch 538 BLAKE2B 80b83774452c06f4ced24988ed5e988068e4650870db2ea0dc03d083c2d78ee30c0edbd0d4f3d9484d10908d7ad9c427112276b25296e8bc88de8e50cbbc6bed SHA512 4a4b7ea54854aedd0d36396352824b3934452712eadf10853b90fd93f8ea58e8825bf0e3d56d79190d35dfe58a50c1a6bca1f99b007c83a5b53c473f134689f1 -AUX Tensile-5.4.2-gentoopath.patch 3147 BLAKE2B 4834c0f9b1241b79704fbda954cffcf70e19be9a7bee7564a309b3b52bf67d3ab6876e644e5599dbb820bbbf3c2d44aab15e74f589c1c3d2e11798e83b063c7c SHA512 e8f6ac86bb96b1ca2c34dd10691e99d4121e6c214f9371f622caa17a936326c2b33b39529df888e6feb8ba9796b33860d047653c945604813023451888048990 +AUX Tensile-5.4.2-gentoopath.patch 3149 BLAKE2B fd033093654683524f4ce51ee36ea1d84d53dc95c0556f9eb86d3f7870728fbac744322c8ce915a6dc13907b2fb249543a791ccf6051701feaeee595e65f32e0 SHA512 ab2afad72ffd04328701462161bec9627bf35a42be7be4775e8601e51b3b50b9cd18acbed547d51621923e3ec33ec4872039025124a2fe593f68145f468df30b AUX Tensile-5.4.2-gfx1031.patch 5051 BLAKE2B d043b94403069f9b4b4c379cf7c361b30f3c0c145f740d37e5cf787636fa3f5c00ca1b7c375f311c9f067e8e6c7d383fbc34157e4b9d4f65a93ed53e9e14b814 SHA512 53cae079788f0478ba7a0af48ddb279a39496a3238263352ff17f555f588ebc1e9463d5b466f1e819ba29a4857c65a644d7a93fe0c2dca3403f994ade4f2bc0f AUX Tensile-5.4.2-use-ninja.patch 1164 BLAKE2B 41d6dbb68fa41b53d230afd06af95acb014163d14b7f0e61d5a2945ef02c7a3d376f327a3f82fa86085c8eb95820d95883bdc05024e87b69dad61caf39c3b124 SHA512 b73271b637b4b3c045813638b1cebf6c3b4ac50350a62a76351e6fdf3e74b20104bbb135085c96c9c0e99f20f971af316d9686c8347a894361ee90abb66175fa DIST Tensile-5.0.2-PR1419.patch.gz 43754 BLAKE2B 3b1d7333ed0115f77816806e7735e25d897dbae3f7a40ece61d655c8f016d9d1c804b586b4e0e75661e20c517f5937a61d5ead25a545f0ce2e4a178bcbb3e7be SHA512 0154d8e14d335f4ecd86e5db335289f8662cede7e5d4b93bf6c56d8e48c1d7d0457271c078c9abbbca1f4aa91f028f6ce6a89efb783ba0207d0f39fd5de8a42c DIST rocm-Tensile-5.1.3.tar.gz 14357517 BLAKE2B 7c5881cc2b1d25db39f54a99f9f0a08395a5f7a58deebe74d9868e8f7044db5ae2f3907196adf16dc6abeba0f1f47f5cce5c8900891276daff8e4ad614cf3b94 SHA512 4405cb6de65c1da1fd93910fc901402a24e996ff04eccadf483c25d8eb518e03ea9bbf00e372dd5fe377696e71c39355603095f3c5fc1e26d311ed15d8e3b734 DIST rocm-Tensile-5.4.2.tar.gz 14413805 BLAKE2B ca1c13785164439f6fe83f16b36b7a0b06a63b70b9f0741d77b0fff98f38d1e1c7e9a54ef61897e6eb0a4eaf52ec9e5f14f42a7e6fd657f26306afa3de0c74a2 SHA512 d99736a202c7353979e732941199b4b20e53ff2b6c19a7175609440a840aa5624bc53a8013c435f31ac37933527771521ff02137c1c8fd53c5317eca8533be80 -EBUILD Tensile-5.1.3-r1.ebuild 2723 BLAKE2B 9d894b023b6d6aeef26422e770bf4195ce3b40f6086f6e121f635c2fb351fb9f4a22d5dcea58c5bcc51067b7c8c8a2d63bd8b68d2db2a00a72d2ded2332663ec SHA512 82c586818ceeba2eb55406d309e743ae90f7cddb0ed129773b51edb694c54ec016860aae82df2e1d8bb5111a896c3d7a33a0a2a3f3b7ebf2f49614b82651959c -EBUILD Tensile-5.4.2.ebuild 2623 BLAKE2B 011221e2f0f2c5b3f52cb6a1266caa15744ad0c5ddf7d3683a730bd53e82c8d480527225888947395bf6ed57a1fc9fe17a6b669b425451ae3c5156c8ff6c642a SHA512 aec47b07571b7360bd9c0736ac9fb07e9b459bb575d0465c974ba084cf04d513f0cf93fd3db6cc120fbf6bd32097747777cee2745de7f986c0e5f96549a0dd83 -MISC metadata.xml 350 BLAKE2B f621bb03aafc000672f022db9cad9a1fed65b912129d26ed7e717ba8e5cfb11f0d6b309905b6e12b07993a7aa0cbebf18aeaf92d643eff5419d765e31b3c52a7 SHA512 99b497edddaaf6d84159df959fb8b0a5d18ea0ecc879d600a2a1fc004554612e1422b258a2f7c5f73148caca93f9283481b53669f7247d62782401fdb112f69e +EBUILD Tensile-5.1.3-r2.ebuild 2812 BLAKE2B 9a00f3d3a635c7dd5eff265f257debe06b9309d6136aa437b073ec5094b4f7679fa933f04324a5ba770107065dc5bad2700cf63335a8a083dffb3e54fa86fa16 SHA512 2f7b0c113b453b0a820d8bd0aba2e6ff1f2812aa6e34c4a87f0c4bc7a933ce6fad1b54e64c1e014de7b1ade0e01e0d16ab481332fc9aa1f1da6b2297fbac60bc +EBUILD Tensile-5.4.2-r1.ebuild 3349 BLAKE2B 1a77ccf129b4781221f581ab0039ee03bf347d8ccb135876a9560798119a99be43bfef8a49a45d25733156426f4f943c600c95a820b50c49cdec180407850c9f SHA512 313c73a40be226ddc6d2cb539a24c8b2eb86f0ed06299b2f302bb4ddfc0116e322374ee8b00ca305670996c767c55574219f89dfec81be90e43376afec0ce9c0 +MISC metadata.xml 478 BLAKE2B 4931f453630761d3272371d09065c23cd9fea6e9a80f3b78a07e672e5d2e891c2ad7661883e1cb1f41e89fb2cd725a7189937c7b3cc7fc39b23ef0caaf0b3ce7 SHA512 d57284ff50913d95f092a5b8e4e566d0d6668b56afadfeb2e7003f2af6ed2106f14df82be880b2ea71dec29b614c5cb286a085098fbe8eed16e8bd3588149be6 diff --git a/dev-util/Tensile/Tensile-5.1.3-r1.ebuild b/dev-util/Tensile/Tensile-5.1.3-r1.ebuild deleted file mode 100644 index 3105b82b83a7..000000000000 --- a/dev-util/Tensile/Tensile-5.1.3-r1.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -DISTUTILS_USE_PEP517=setuptools -inherit distutils-r1 llvm prefix - -LLVM_MAX_SLOT=15 - -DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" -HOMEPAGE="https://github.com/ROCmSoftwarePlatform/Tensile" -SRC_URI="https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz - https://github.com/littlewu2508/littlewu2508.github.io/raw/main/gentoo-distfiles/${PN}-5.0.2-PR1419.patch.gz" -S="${WORKDIR}/${PN}-rocm-${PV}" - -LICENSE="MIT" -KEYWORDS="~amd64" -SLOT="0/$(ver_cut 1-2)" - -# Not compatible with recent versions of pytest -RESTRICT="test" - -RDEPEND="${PYTHON_DEPS} - sys-devel/clang:${LLVM_MAX_SLOT} - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/msgpack[${PYTHON_USEDEP}] - >=dev-util/rocm-smi-4.3.0 -" -DEPEND="${RDEPEND} - dev-util/hip -" - -PATCHES=( "${FILESDIR}"/${PN}-4.3.0-output-commands.patch - "${FILESDIR}"/${PN}-5.0.2-gfx1031.patch - "${FILESDIR}"/${PN}-5.0.2-fix-arch-parse.patch - "${FILESDIR}"/${PN}-5.0.2-use-ninja.patch - ) - -CMAKE_USE_DIR="${WORKDIR}/Source" - -src_prepare() { - distutils-r1_src_prepare - sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix ${LLVM_MAX_SLOT}),g" "${FILESDIR}"/${PN}-5.1.3-gentoopath.patch > "${S}"/gentoopath.patch || die - eapply $(prefixify_ro "${S}"/gentoopath.patch) - - pushd ${PN} || die - - sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ - -i Source/cmake/FindROCmSMI.cmake || die - sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ - -i Source/CMakeLists.txt || die - sed -e "/chmod 755/d" -i Source/TensileCreateLibrary.cmake || die # remove chmod 755 on - sed -e "s,\${Tensile_ROOT}/bin/,,g" -i Source/TensileCreateLibrary.cmake cmake/TensileConfig.cmake || die # ${Tensile_ROOT}/bin does not exists; call command directly - - local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" - sed -e "/HipClangVersion/s/0,0,0/$(hipconfig -v)/" -i Common.py || die - - sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" -i ReplacementKernels.py Common.py ${PN}.py || die - - sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die - - popd || die - - sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die -} - -python_install() { - distutils-r1_python_install - - python_moduleinto Tensile - pushd Tensile || die - python_domodule Components - python_newexe Utilities/merge.py ${PN}-merge -} - -src_install() { - distutils-r1_src_install - - pushd ${PN} || die - insinto /usr/share/${PN} - doins -r Configs Perf ReplacementKernels ReplacementKernels-cov3 Source CustomKernels - insinto /usr/$(get_libdir)/cmake/${PN} - doins cmake/*.cmake -} diff --git a/dev-util/Tensile/Tensile-5.1.3-r2.ebuild b/dev-util/Tensile/Tensile-5.1.3-r2.ebuild new file mode 100644 index 000000000000..2f487059341f --- /dev/null +++ b/dev-util/Tensile/Tensile-5.1.3-r2.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_USE_PEP517=setuptools +inherit distutils-r1 llvm prefix + +LLVM_MAX_SLOT=15 + +DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/Tensile" +SRC_URI="https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz + https://github.com/littlewu2508/littlewu2508.github.io/raw/main/gentoo-distfiles/${PN}-5.0.2-PR1419.patch.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" + +# Not compatible with recent versions of pytest +RESTRICT="test" + +RDEPEND="${PYTHON_DEPS} + dev-cpp/msgpack-cxx + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + dev-util/hip + sys-devel/clang:${LLVM_MAX_SLOT} + >=dev-util/rocm-smi-4.3.0 +" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}"/${PN}-4.3.0-output-commands.patch + "${FILESDIR}"/${PN}-5.0.2-gfx1031.patch + "${FILESDIR}"/${PN}-5.0.2-fix-arch-parse.patch + "${FILESDIR}"/${PN}-5.0.2-use-ninja.patch + "${FILESDIR}"/0001-Change-cmake-name-for-msgpack-5-release.patch + ) + +CMAKE_USE_DIR="${WORKDIR}/Source" + +src_prepare() { + distutils-r1_src_prepare + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix ${LLVM_MAX_SLOT}),g" "${FILESDIR}"/${PN}-5.1.3-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply $(prefixify_ro "${S}"/gentoopath.patch) + + pushd ${PN} || die + + sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ + -i Source/cmake/FindROCmSMI.cmake || die + sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ + -i Source/CMakeLists.txt || die + sed -e "/chmod 755/d" -i Source/TensileCreateLibrary.cmake || die # remove chmod 755 on + sed -e "s,\${Tensile_ROOT}/bin/,,g" -i Source/TensileCreateLibrary.cmake cmake/TensileConfig.cmake || die # ${Tensile_ROOT}/bin does not exists; call command directly + + local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" + sed -e "/HipClangVersion/s/0,0,0/$(hipconfig -v)/" -i Common.py || die + + sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" -i ReplacementKernels.py Common.py ${PN}.py || die + + sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die + + popd || die + + sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die +} + +python_install() { + distutils-r1_python_install + + python_moduleinto Tensile + pushd Tensile || die + python_domodule Components + python_newexe Utilities/merge.py ${PN}-merge +} + +src_install() { + distutils-r1_src_install + + pushd ${PN} || die + insinto /usr/share/${PN} + doins -r Configs Perf ReplacementKernels ReplacementKernels-cov3 Source CustomKernels + insinto /usr/$(get_libdir)/cmake/${PN} + doins cmake/*.cmake +} diff --git a/dev-util/Tensile/Tensile-5.4.2-r1.ebuild b/dev-util/Tensile/Tensile-5.4.2-r1.ebuild new file mode 100644 index 000000000000..8c23e68fdb21 --- /dev/null +++ b/dev-util/Tensile/Tensile-5.4.2-r1.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +DISTUTILS_USE_PEP517=setuptools +ROCM_VERSION=${PV} +inherit cmake distutils-r1 llvm prefix rocm + +LLVM_MAX_SLOT=15 + +DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" +HOMEPAGE="https://github.com/ROCmSoftwarePlatform/Tensile" +SRC_URI="https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz" +S="${WORKDIR}/${PN}-rocm-${PV}" + +LICENSE="MIT" +KEYWORDS="~amd64" +SLOT="0/$(ver_cut 1-2)" +IUSE="client" +REQUIRED_USE="client? ( ${ROCM_REQUIRED_USE} )" + +# Not compatible with recent versions of pytest +RESTRICT="test" + +RDEPEND="${PYTHON_DEPS} + dev-cpp/msgpack-cxx + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + dev-util/hip + >=dev-util/rocm-smi-4.3.0 + sys-devel/clang:${LLVM_MAX_SLOT} +" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}"/${PN}-4.3.0-output-commands.patch + "${FILESDIR}"/${PN}-5.4.2-gfx1031.patch + "${FILESDIR}"/${PN}-5.4.2-fix-arch-parse.patch + "${FILESDIR}"/${PN}-5.4.2-use-ninja.patch + "${FILESDIR}"/0001-Change-cmake-name-for-msgpack-5-release.patch + ) + +CMAKE_USE_DIR="${S}/${PN}/Source" + +src_prepare() { + distutils-r1_src_prepare + sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix ${LLVM_MAX_SLOT}),g" \ + "${FILESDIR}"/${PN}-5.4.2-gentoopath.patch > "${S}"/gentoopath.patch || die + eapply $(prefixify_ro "${S}"/gentoopath.patch) + + pushd ${PN} || die + + sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ + -i Source/cmake/FindROCmSMI.cmake || die + sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ + -i Source/CMakeLists.txt || die + sed -e "/chmod 755/d" -i Source/TensileCreateLibrary.cmake || die # remove chmod 755 on + + # ${Tensile_ROOT}/bin does not exists; call command directly + sed -e "s,\${Tensile_ROOT}/bin/,,g" -i Source/TensileCreateLibrary.cmake cmake/TensileConfig.cmake || die + + local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" + sed -e "/HipClangVersion/s/0.0.0/$(hipconfig -v)/" -i Common.py || die + + sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" \ + -i ReplacementKernels.py Common.py ${PN}.py || die + + sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die + + popd || die + + sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die + use client && PATCHES= cmake_src_prepare # do not apply patches again in cmake_src_prepare +} + +src_configure() { + distutils-r1_src_configure + if use client; then + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DTENSILE_USE_MSGPACK=ON + -DTENSILE_USE_LLVM=ON + -DTensile_LIBRARY_FORMAT=msgpack + -DAMDGPU_TARGETS="$(get_amdgpu_flags)" + ) + CXX=hipcc cmake_src_configure + fi +} + +src_compile() { + distutils-r1_src_compile + use client && cmake_src_compile +} + +python_install() { + distutils-r1_python_install + + python_moduleinto Tensile + pushd Tensile || die + python_domodule Components + python_newexe Utilities/merge.py ${PN}-merge +} + +src_install() { + distutils-r1_src_install + + pushd ${PN} || die + insinto /usr/share/${PN} + doins -r Configs Perf ReplacementKernels ReplacementKernels-cov3 Source CustomKernels + insinto /usr/$(get_libdir)/cmake/${PN} + doins cmake/*.cmake + + if use client; then + pushd "${BUILD_DIR}" || die + dobin client/tensile_client + fi +} diff --git a/dev-util/Tensile/Tensile-5.4.2.ebuild b/dev-util/Tensile/Tensile-5.4.2.ebuild deleted file mode 100644 index 1e347fdcee56..000000000000 --- a/dev-util/Tensile/Tensile-5.4.2.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..11} ) -DISTUTILS_USE_PEP517=setuptools -inherit distutils-r1 llvm prefix - -LLVM_MAX_SLOT=15 - -DESCRIPTION="Stretching GPU performance for GEMMs and tensor contractions" -HOMEPAGE="https://github.com/ROCmSoftwarePlatform/Tensile" -SRC_URI="https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-${PV}.tar.gz -> rocm-Tensile-${PV}.tar.gz" -S="${WORKDIR}/${PN}-rocm-${PV}" - -LICENSE="MIT" -KEYWORDS="~amd64" -SLOT="0/$(ver_cut 1-2)" - -# Not compatible with recent versions of pytest -RESTRICT="test" - -RDEPEND="${PYTHON_DEPS} - sys-devel/clang:${LLVM_MAX_SLOT} - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/msgpack[${PYTHON_USEDEP}] - >=dev-util/rocm-smi-4.3.0 -" -DEPEND="${RDEPEND} - dev-util/hip -" - -PATCHES=( "${FILESDIR}"/${PN}-4.3.0-output-commands.patch - "${FILESDIR}"/${PN}-5.4.2-gfx1031.patch - "${FILESDIR}"/${PN}-5.4.2-fix-arch-parse.patch - "${FILESDIR}"/${PN}-5.4.2-use-ninja.patch - ) - -CMAKE_USE_DIR="${WORKDIR}/Source" - -src_prepare() { - distutils-r1_src_prepare - sed -e "s,\@LLVM_PATH\@,$(get_llvm_prefix ${LLVM_MAX_SLOT}),g" \ - "${FILESDIR}"/${PN}-5.4.2-gentoopath.patch > "${S}"/gentoopath.patch || die - eapply $(prefixify_ro "${S}"/gentoopath.patch) - - pushd ${PN} || die - - sed -e "/ROCM_SMI_ROOT/s,lib,$(get_libdir)," \ - -i Source/cmake/FindROCmSMI.cmake || die - sed -r -e "/TENSILE_USE_LLVM/s/ON/OFF/" \ - -i Source/CMakeLists.txt || die - sed -e "/chmod 755/d" -i Source/TensileCreateLibrary.cmake || die # remove chmod 755 on - - # ${Tensile_ROOT}/bin does not exists; call command directly - sed -e "s,\${Tensile_ROOT}/bin/,,g" -i Source/TensileCreateLibrary.cmake cmake/TensileConfig.cmake || die - - local Tensile_share_dir="\"${EPREFIX}/usr/share/${PN}\"" - sed -e "/HipClangVersion/s/0.0.0/$(hipconfig -v)/" -i Common.py || die - - sed -e "s,os.path.dirname(os.path.realpath(__file__)),${Tensile_share_dir},g" \ - -i ReplacementKernels.py Common.py ${PN}.py || die - - sed -e "s|os\.path\.dirname.*$|\"${EPREFIX}/usr/share/Tensile/Source\", end='')|" -i __init__.py || die - - popd || die - - sed -e "/package_data/d" -e "/data_files/d" -i setup.py || die -} - -python_install() { - distutils-r1_python_install - - python_moduleinto Tensile - pushd Tensile || die - python_domodule Components - python_newexe Utilities/merge.py ${PN}-merge -} - -src_install() { - distutils-r1_src_install - - pushd ${PN} || die - insinto /usr/share/${PN} - doins -r Configs Perf ReplacementKernels ReplacementKernels-cov3 Source CustomKernels - insinto /usr/$(get_libdir)/cmake/${PN} - doins cmake/*.cmake -} diff --git a/dev-util/Tensile/files/0001-Change-cmake-name-for-msgpack-5-release.patch b/dev-util/Tensile/files/0001-Change-cmake-name-for-msgpack-5-release.patch new file mode 100644 index 000000000000..7f8fb95123ee --- /dev/null +++ b/dev-util/Tensile/files/0001-Change-cmake-name-for-msgpack-5-release.patch @@ -0,0 +1,25 @@ +From 66f5f943bbd0fd3b41b02ce7a563bed9f59f9c38 Mon Sep 17 00:00:00 2001 +From: Yiyang Wu +Date: Sat, 11 Feb 2023 15:37:11 +0800 +Subject: [PATCH] Change cmake name for msgpack-5 release + +--- + Tensile/Source/lib/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Tensile/Source/lib/CMakeLists.txt b/Tensile/Source/lib/CMakeLists.txt +index 47a5d15d..f1a6118b 100644 +--- a/Tensile/Source/lib/CMakeLists.txt ++++ b/Tensile/Source/lib/CMakeLists.txt +@@ -97,7 +97,7 @@ if(TENSILE_USE_LLVM OR TENSILE_USE_MSGPACK) + endif() + + if(TENSILE_USE_MSGPACK) +- find_package(msgpack REQUIRED) ++ find_package(msgpackc-cxx REQUIRED) + target_compile_definitions(TensileHost PUBLIC -DTENSILE_MSGPACK=1) + + if(TARGET msgpackc-cxx) +-- +2.39.1 + diff --git a/dev-util/Tensile/files/0001-Detect-prebuilt-tensile_client-in-PATH.patch b/dev-util/Tensile/files/0001-Detect-prebuilt-tensile_client-in-PATH.patch new file mode 100644 index 000000000000..116711db44fc --- /dev/null +++ b/dev-util/Tensile/files/0001-Detect-prebuilt-tensile_client-in-PATH.patch @@ -0,0 +1,33 @@ +From 3c806ec52f46d0a1f770f524d1e4f0ffeb8809c2 Mon Sep 17 00:00:00 2001 +From: Yiyang Wu +Date: Sat, 11 Feb 2023 17:48:08 +0800 +Subject: [PATCH] Detect prebuilt tensile_client in PATH + +--- + Tensile/Tensile.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Tensile/Tensile.py b/Tensile/Tensile.py +index 961ea88f..123f8a7a 100644 +--- a/Tensile/Tensile.py ++++ b/Tensile/Tensile.py +@@ -38,6 +38,7 @@ from . import LibraryIO + from . import LibraryLogic + from . import __version__ + from datetime import datetime ++from shutil import which + + + ############################################################################### +@@ -127,7 +128,7 @@ def addCommonArguments(argParser): + action="store", help="select which library format to use") + argParser.add_argument("--client-build-path", default=None) + argParser.add_argument("--client-lock", default=None) +- argParser.add_argument("--prebuilt-client", default=None) ++ argParser.add_argument("--prebuilt-client", default=which("tensile_client")) + + argParser.add_argument("--global-parameters", nargs="+", type=splitExtraParameters, default=[]) + +-- +2.39.1 + diff --git a/dev-util/Tensile/files/Tensile-5.4.2-gentoopath.patch b/dev-util/Tensile/files/Tensile-5.4.2-gentoopath.patch index 2aed8082de05..eda9b0307c52 100644 --- a/dev-util/Tensile/files/Tensile-5.4.2-gentoopath.patch +++ b/dev-util/Tensile/files/Tensile-5.4.2-gentoopath.patch @@ -35,7 +35,7 @@ Index: Tensile-rocm-5.4.2/Tensile/ClientWriter.py callCreateLibraryCmd = ["python"] if os.name == "nt" else [] - callCreateLibraryCmd += [os.path.join(globalParameters["ScriptPath"] , "bin", "TensileCreateLibrary")] -+ callCreateLibraryCmd += "TensileCreateLibrary" ++ callCreateLibraryCmd += ["TensileCreateLibrary"] if globalParameters["MergeFiles"]: callCreateLibraryCmd += ["--merge-files"] diff --git a/dev-util/Tensile/metadata.xml b/dev-util/Tensile/metadata.xml index 97a4d2e3c600..32364cb13b06 100644 --- a/dev-util/Tensile/metadata.xml +++ b/dev-util/Tensile/metadata.xml @@ -8,4 +8,7 @@ ROCmSoftwarePlatform/Tensile + + Build and install tensile_client executable to run benchmarks and tune GPU GEMM + -- cgit v1.2.3