summaryrefslogtreecommitdiff
path: root/dev-util/Tensile
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-24 21:49:24 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-24 21:49:24 +0000
commita1c55a7e2f400a6170fd3df167bfdc299c05e2db (patch)
tree63add7e7943810930ca6e296397ef4bdea18eb6b /dev-util/Tensile
parentc18398e8c10c222f0daed55f7d69339e3c7885bd (diff)
gentoo auto-resync : 24:02:2023 - 21:49:24
Diffstat (limited to 'dev-util/Tensile')
-rw-r--r--dev-util/Tensile/Manifest10
-rw-r--r--dev-util/Tensile/Tensile-5.1.3-r2.ebuild (renamed from dev-util/Tensile/Tensile-5.1.3-r1.ebuild)9
-rw-r--r--dev-util/Tensile/Tensile-5.4.2-r1.ebuild (renamed from dev-util/Tensile/Tensile-5.4.2.ebuild)41
-rw-r--r--dev-util/Tensile/files/0001-Change-cmake-name-for-msgpack-5-release.patch25
-rw-r--r--dev-util/Tensile/files/0001-Detect-prebuilt-tensile_client-in-PATH.patch33
-rw-r--r--dev-util/Tensile/files/Tensile-5.4.2-gentoopath.patch2
-rw-r--r--dev-util/Tensile/metadata.xml3
7 files changed, 108 insertions, 15 deletions
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-r2.ebuild
index 3105b82b83a7..2f487059341f 100644
--- a/dev-util/Tensile/Tensile-5.1.3-r1.ebuild
+++ b/dev-util/Tensile/Tensile-5.1.3-r2.ebuild
@@ -23,19 +23,20 @@ SLOT="0/$(ver_cut 1-2)"
RESTRICT="test"
RDEPEND="${PYTHON_DEPS}
- sys-devel/clang:${LLVM_MAX_SLOT}
+ dev-cpp/msgpack-cxx
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/msgpack[${PYTHON_USEDEP}]
- >=dev-util/rocm-smi-4.3.0
-"
-DEPEND="${RDEPEND}
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"
diff --git a/dev-util/Tensile/Tensile-5.4.2.ebuild b/dev-util/Tensile/Tensile-5.4.2-r1.ebuild
index 1e347fdcee56..8c23e68fdb21 100644
--- a/dev-util/Tensile/Tensile-5.4.2.ebuild
+++ b/dev-util/Tensile/Tensile-5.4.2-r1.ebuild
@@ -5,7 +5,8 @@ EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 llvm prefix
+ROCM_VERSION=${PV}
+inherit cmake distutils-r1 llvm prefix rocm
LLVM_MAX_SLOT=15
@@ -17,27 +18,30 @@ 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}
- sys-devel/clang:${LLVM_MAX_SLOT}
+ dev-cpp/msgpack-cxx
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/msgpack[${PYTHON_USEDEP}]
- >=dev-util/rocm-smi-4.3.0
-"
-DEPEND="${RDEPEND}
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="${WORKDIR}/Source"
+CMAKE_USE_DIR="${S}/${PN}/Source"
src_prepare() {
distutils-r1_src_prepare
@@ -67,6 +71,26 @@ src_prepare() {
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() {
@@ -86,4 +110,9 @@ src_install() {
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/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 <xgreenlandforwyy@gmail.com>
+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 <xgreenlandforwyy@gmail.com>
+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 @@
<upstream>
<remote-id type="github">ROCmSoftwarePlatform/Tensile</remote-id>
</upstream>
+ <use>
+ <flag name="client">Build and install tensile_client executable to run benchmarks and tune GPU GEMM</flag>
+ </use>
</pkgmetadata>