diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-03-09 01:07:53 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-03-09 01:07:53 +0000 |
commit | 4464bf26d93bdcc80e0b1330fe9c9caef26b34fc (patch) | |
tree | 62f9e9438bf700cf277191db5d7c3a641bc972dc /dev-libs/rocr-runtime | |
parent | 8edd4a48a39640822abe6ddb7b2a1d5b2da4ea70 (diff) |
gentoo auto-resync : 09:03:2024 - 01:07:53
Diffstat (limited to 'dev-libs/rocr-runtime')
-rw-r--r-- | dev-libs/rocr-runtime/Manifest | 3 | ||||
-rw-r--r-- | dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch | 73 | ||||
-rw-r--r-- | dev-libs/rocr-runtime/rocr-runtime-5.7.1-r1.ebuild | 3 |
3 files changed, 77 insertions, 2 deletions
diff --git a/dev-libs/rocr-runtime/Manifest b/dev-libs/rocr-runtime/Manifest index dd4d15a3c9e2..df4fef57f7a3 100644 --- a/dev-libs/rocr-runtime/Manifest +++ b/dev-libs/rocr-runtime/Manifest @@ -1,5 +1,6 @@ AUX rocr-runtime-4.3.0_no-aqlprofiler.patch 1084 BLAKE2B dfc2b9bbea0360fdbbd04988f0dbed76e53d8d9f9d2a5217f154e02e39f7b78f3408edb0204a93b6b4e927103b2c041788bd6befb8475d3f4e333bdc6ad19a0d SHA512 f90b92eb547640bc8cf71d042f12a55504371e4c3e624b02435c026e7ae9d5885e23a2be3a0f5c443fc502b3a1c8a03fdb5efabaeaabe8be33a28aab3ac9d9ca AUX rocr-runtime-5.0.1-cmake-install-paths.patch 2744 BLAKE2B fbbecdefbfabcbe4cd7f029e10d6abed94b492f94157839336adf83e98efe5c0e93dbb20856ca6adab32cb315bbd7b6c397c8fc48b66ea784cdbb3becb5f718e SHA512 db7ee8b87b526991a62c3cbfd385e85d27e05ba9a7f4726e8060d7ad29917e154bdcd0715e61a08210dad4b6112c731dfcab9e9f7e809b74da2f74c62a1eab72 +AUX rocr-runtime-5.7.1-extend-isa-compatibility-check.patch 3006 BLAKE2B 91de5e4c427678aa8623c1663dd044a2fde1f46ff450d167f516fb618ccdfe71713f3309146766350de171b43ecdab82fa7cc89ccf9bf2481b7f0c6e724fa8dc SHA512 2646741d75829ca22a142f520635586312884617e1747e53b9fa1e0f226e5ab7353b99c905a8cc0d6eda9bd74fb763b5e38e66e1ca342375444744393268c18a DIST rocr-runtime-5.1.3.tar.gz 720567 BLAKE2B bdf2d258ec607ffc69264d48ce82c36787757b7809397d643a24abaa852f3cc217a57210fba760d4d11ef8ce2922dc1ef275d3b47a4bebc5c7b204bbbb5b7c66 SHA512 d47523ea2fe32fee832ca19b56a091f52e16b366db1c571f87e5599514b826376d49281e79ff0936dcaf7349f9becbc8ae9b3e9472a9c3e14b62a3f98d541b35 DIST rocr-runtime-5.3.3.tar.gz 809871 BLAKE2B 1a44e88c34fcebcea3351de812f2ac64a7b151303c5bfc4066920755c185731388afff89c705afee6010d262f68358a20b1c0197e8f23c22ab24409eb55fde0a SHA512 27efe57954575549703b31c4a632548bf3d82df0f01d5f15485d0bda7efa6ec2ad0a4a8710b8f240ff57296eb62d3796926e32d16dfe448b188d8264fde0ef8b DIST rocr-runtime-5.4.3.tar.gz 811062 BLAKE2B 4ee8ef49cdac7f6918db3aa96089852847d093aacc11ed7e7157a6eb512cf36a3d37396670c14ea24b16b1127c4547977390694d05bc6006ac48b40e707d6dae SHA512 29f13a1b16ef457071cc050227d57cda92992f416ebc074f8cd5a856d9bd76fd34ab2ccb53c21c3d798165282d44bba287ef44a9d1da327ee198e1facc77a4db @@ -10,6 +11,6 @@ EBUILD rocr-runtime-5.1.3-r1.ebuild 1489 BLAKE2B bddcaa60234f530822d4f96ea90c4c1 EBUILD rocr-runtime-5.3.3-r1.ebuild 1556 BLAKE2B 4554d25ea988cb2c4b0520691544525288cb57dbaf53b79e06552f3f3c508f52efb9a796f8f1b4fca6e98984ad56ec6c29f50b1777a7f324d0a870ef911a3773 SHA512 861e2b6f917698fa2a0a6bdcfe988c18a1bd2a7b2f5a036cdf09af161b244534ce0daa596dc2a5073e586132a14fdc58128f867f83adeef31355402de607db30 EBUILD rocr-runtime-5.4.3-r1.ebuild 1767 BLAKE2B 56cac1aa980f509aace3c24344384375f6896f889d24a48ffed04db8f2e7f6a23bf1f5abb1511f1bc624e6b94e00b1147c8996cbb16cb7a4adde6c5a65eba68b SHA512 f41eb9d3621681723276e569e3d663c9bcff4834127a4f6e346486814f1f4f49a6a5be8f14409ff9514798455f22766a1ed4dc8b6a6ea2d02f2ce8f5de53d6b5 EBUILD rocr-runtime-5.5.1.ebuild 1767 BLAKE2B d40d4db7f5d5609fc324944e64df866acdde567f5be2f85006ae0c1f56180e5c0c7e4ebcc87e884c5dd824111886b46a72a368eb66e7cb9c694e2d2398182d83 SHA512 c443449775b064e691aaa068903b8fd65e710e447fe88d2a33a7a22e5a2eca22fc1b18985ce8d7c20e49fc6c33fba7fe0fa7ec0ce884c0775f5c53963a12210c -EBUILD rocr-runtime-5.7.1-r1.ebuild 1795 BLAKE2B 983418b479375cb5e260307945eb6b1f500a7dc4efb3e44bc990025d061e9ccf22041815db10d8e37c2a3a8c350b9d594778dba7784ef734cb06cd3ed19a44d6 SHA512 625d8490a0f0c23fe6868da2f8102f6a597277a78c4668056fe2b7c7d2106e8ff16b0f536aa3b358d0dff0f83a1b0afd516cb26615256ac5920fba11048d6d62 +EBUILD rocr-runtime-5.7.1-r1.ebuild 1859 BLAKE2B 06897559fc90982ab8ee3b239a8dabc4acff310043fa0a2d7bbdccf2bdc874bca9dda75c71a64b66f3035c085d4b7711c3ca38551173fdaea8692ab2d0779bb3 SHA512 46833d46b8f4aee9dd8c9be24ba6c8c0d1d31113eae9b4c4f0b26b81b43b8a0228cde2012bca5139e20bd577d28ff3483ea08e9a54b7c1da34dc633d807c9ef5 EBUILD rocr-runtime-6.0.0.ebuild 1795 BLAKE2B 983418b479375cb5e260307945eb6b1f500a7dc4efb3e44bc990025d061e9ccf22041815db10d8e37c2a3a8c350b9d594778dba7784ef734cb06cd3ed19a44d6 SHA512 625d8490a0f0c23fe6868da2f8102f6a597277a78c4668056fe2b7c7d2106e8ff16b0f536aa3b358d0dff0f83a1b0afd516cb26615256ac5920fba11048d6d62 MISC metadata.xml 515 BLAKE2B ccb566413bfb5e7027d1596b040f6c957dc8d58fc413859c4a08fbd484ab16d536948bcf24cdd1edd5bdc8a4951b5abe6adbb3da6fde37e5a9ba1bdcfd312827 SHA512 6d0f0ab69b8f04a9106d71003f17c00e693b42c03aa5c430ebb03f7ffb3ecb8f4b10128fd22462692b97870c23e85aa3f037433fa65c55a342d64038f0db5a93 diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch new file mode 100644 index 000000000000..b12352e40c92 --- /dev/null +++ b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch @@ -0,0 +1,73 @@ +Combined with matching changes within hip ebuild, this patch allows +to load compatible kernels whenever possible. +For example if AMDGPU_TARGETS is set to gfx1030 and some application +was started on gfx1036, it loads gfx1030 kernel. + +Author: Cordell Bloor <cgmb@slerp.xyz> +https://salsa.debian.org/rocm-team/rocr-runtime/-/blob/master/debian/patches/0004-extend-isa-compatibility-check.patch +--- src/core/runtime/isa.cpp ++++ src/core/runtime/isa.cpp +@@ -43,6 +43,7 @@ + #include "core/inc/isa.h" + + #include <algorithm> ++#include <array> + #include <cstring> + #include <iostream> + #include <sstream> +@@ -69,13 +70,53 @@ bool Wavefront::GetInfo( + } + } + ++template <class T, std::size_t N> ++static bool Contains(const std::array<T, N>& arr, const T& value) { ++ return std::find(std::begin(arr), std::end(arr), value) != std::end(arr); ++} ++ ++static bool IsVersionCompatible(const Isa &code_object_isa, ++ const Isa &agent_isa) { ++ if (code_object_isa.GetMajorVersion() == agent_isa.GetMajorVersion() && ++ code_object_isa.GetMinorVersion() == agent_isa.GetMinorVersion()) { ++ ++ if (code_object_isa.GetStepping() == agent_isa.GetStepping()) { ++ return true; // exact match ++ } ++ ++ // the processor and code object may sometimes be compatible if ++ // they differ only by stepping version ++ if (code_object_isa.GetMajorVersion() == 9 && ++ code_object_isa.GetMinorVersion() == 0) { ++ const std::array<int32_t, 4> gfx900_equivalent = { 0, 2, 9, 12 }; ++ const std::array<int32_t, 5> gfx900_superset = { 0, 2, 6, 9, 12 }; ++ if (Contains(gfx900_equivalent, code_object_isa.GetStepping()) && ++ Contains(gfx900_superset, agent_isa.GetStepping())) { ++ return true; // gfx900 compatible ++ } ++ } else if (code_object_isa.GetMajorVersion() == 10) { ++ if (code_object_isa.GetMinorVersion() == 1) { ++ const std::array<int32_t, 2> gfx1010_equivalent = { 0, 2 }; ++ const std::array<int32_t, 4> gfx1010_superset = { 0, 1, 2, 3 }; ++ if (Contains(gfx1010_equivalent, code_object_isa.GetStepping()) && ++ Contains(gfx1010_superset, agent_isa.GetStepping())) { ++ return true; // gfx1010 compatible ++ } ++ } else if (code_object_isa.GetMinorVersion() == 3) { ++ return true; // gfx1030 compatible ++ } ++ } ++ } ++ ++ return false; ++} ++ + /* static */ + bool Isa::IsCompatible(const Isa &code_object_isa, + const Isa &agent_isa) { +- if (code_object_isa.GetVersion() != agent_isa.GetVersion()) ++ if (!IsVersionCompatible(code_object_isa, agent_isa)) + return false; + +- assert(code_object_isa.IsSrameccSupported() == agent_isa.IsSrameccSupported() && agent_isa.GetSramecc() != IsaFeature::Any); + if ((code_object_isa.GetSramecc() == IsaFeature::Enabled || + code_object_isa.GetSramecc() == IsaFeature::Disabled) && + code_object_isa.GetSramecc() != agent_isa.GetSramecc()) diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r1.ebuild index 840a1949b160..564da67950fa 100644 --- a/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r1.ebuild +++ b/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -21,6 +21,7 @@ DESCRIPTION="Radeon Open Compute Runtime" HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime" PATCHES=( "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch" + "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch" ) LICENSE="MIT" |