From 6811c90367d66ab1402e7e1965ef5f9d804253d5 Mon Sep 17 00:00:00 2001 From: Milica Trifunovic Date: Wed, 16 Jul 2025 06:41:54 -0400 Subject: [PATCH 1/2] Complete gfx1151 Tensile support --- shared/tensile/Tensile/Source/CMakeLists.txt | 4 ++-- .../Tensile/Source/lib/include/Tensile/AMDGPU.hpp | 9 ++++++++- .../Source/lib/include/Tensile/PlaceholderLibrary.hpp | 5 +++++ .../lib/include/Tensile/Serialization/Predicates.hpp | 1 + shared/tensile/pytest.ini | 1 + 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/shared/tensile/Tensile/Source/CMakeLists.txt b/shared/tensile/Tensile/Source/CMakeLists.txt index dcb56df1f83..7735220abf4 100644 --- a/shared/tensile/Tensile/Source/CMakeLists.txt +++ b/shared/tensile/Tensile/Source/CMakeLists.txt @@ -51,9 +51,9 @@ if(CMAKE_CXX_COMPILER MATCHES ".*/hipcc$" OR CMAKE_CXX_COMPILER MATCHES ".*clang endif() if(CMAKE_CXX_COMPILER STREQUAL "hipcc") - set(TENSILE_GPU_ARCHS gfx803 gfx900 gfx906:xnack- gfx908:xnack- gfx90a:xnack- gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 gfx1100 gfx1101 gfx1102 gfx1103 gfx1150 CACHE STRING "GPU architectures") + set(TENSILE_GPU_ARCHS gfx803 gfx900 gfx906:xnack- gfx908:xnack- gfx90a:xnack- gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 gfx1100 gfx1101 gfx1102 gfx1103 gfx1150 gfx1151 CACHE STRING "GPU architectures") else() - set(TENSILE_GPU_ARCHS gfx803 gfx900 gfx906 gfx908 gfx90a gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 gfx1100 gfx1101 gfx1102 gfx1103 gfx1150 CACHE STRING "GPU architectures") + set(TENSILE_GPU_ARCHS gfx803 gfx900 gfx906 gfx908 gfx90a gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 gfx1100 gfx1101 gfx1102 gfx1103 gfx1150 gfx1151 CACHE STRING "GPU architectures") endif() include(CMakeDependentOption) diff --git a/shared/tensile/Tensile/Source/lib/include/Tensile/AMDGPU.hpp b/shared/tensile/Tensile/Source/lib/include/Tensile/AMDGPU.hpp index 6cde4645e96..4c21b9f4db3 100644 --- a/shared/tensile/Tensile/Source/lib/include/Tensile/AMDGPU.hpp +++ b/shared/tensile/Tensile/Source/lib/include/Tensile/AMDGPU.hpp @@ -74,7 +74,8 @@ namespace Tensile gfx1101 = 1101, gfx1102 = 1102, gfx1103 = 1103, - gfx1150 = 1150 + gfx1150 = 1150, + gfx1151 = 1151 }; static std::string toString(Processor p) @@ -121,6 +122,8 @@ namespace Tensile return "gfx1103"; case AMDGPU::Processor::gfx1150: return "gfx1150"; + case AMDGPU::Processor::gfx1151: + return "gfx1151"; } return ""; } @@ -191,6 +194,10 @@ namespace Tensile { return AMDGPU::Processor::gfx1150; } + else if(deviceString.find("gfx1151") != std::string::npos) + { + return AMDGPU::Processor::gfx1151; + } else { return static_cast(0); diff --git a/shared/tensile/Tensile/Source/lib/include/Tensile/PlaceholderLibrary.hpp b/shared/tensile/Tensile/Source/lib/include/Tensile/PlaceholderLibrary.hpp index baea42bded1..424c3899b5a 100644 --- a/shared/tensile/Tensile/Source/lib/include/Tensile/PlaceholderLibrary.hpp +++ b/shared/tensile/Tensile/Source/lib/include/Tensile/PlaceholderLibrary.hpp @@ -59,6 +59,7 @@ namespace Tensile gfx1102, gfx1103, gfx1150, + gfx1151, All }; @@ -107,6 +108,10 @@ namespace Tensile return "TensileLibrary_*_gfx1102"; case LazyLoadingInit::gfx1103: return "TensileLibrary_*_gfx1103"; + case LazyLoadingInit::gfx1150: + return "TensileLibrary_*_gfx1150"; + case LazyLoadingInit::gfx1151: + return "TensileLibrary_*_gfx1151"; case LazyLoadingInit::None: return ""; } diff --git a/shared/tensile/Tensile/Source/lib/include/Tensile/Serialization/Predicates.hpp b/shared/tensile/Tensile/Source/lib/include/Tensile/Serialization/Predicates.hpp index 85944e7e767..3d85f13aeb0 100644 --- a/shared/tensile/Tensile/Source/lib/include/Tensile/Serialization/Predicates.hpp +++ b/shared/tensile/Tensile/Source/lib/include/Tensile/Serialization/Predicates.hpp @@ -235,6 +235,7 @@ namespace Tensile iot::enumCase(io, value, "gfx1102", AMDGPU::Processor::gfx1102); iot::enumCase(io, value, "gfx1103", AMDGPU::Processor::gfx1103); iot::enumCase(io, value, "gfx1150", AMDGPU::Processor::gfx1150); + iot::enumCase(io, value, "gfx1151", AMDGPU::Processor::gfx1151); } }; diff --git a/shared/tensile/pytest.ini b/shared/tensile/pytest.ini index 659f49d2580..a399b4d2316 100644 --- a/shared/tensile/pytest.ini +++ b/shared/tensile/pytest.ini @@ -109,6 +109,7 @@ markers = xfail-gfx1102: architecture xfail-gfx1103: architecture xfail-gfx1150: architecture + xfail-gfx1151: architecture skip-gfx000: architecture skip-gfx900: architecture skip-gfx906: architecture From 50ded4aa8ac09aac9b0440c4bd3bb3c0918a5b2d Mon Sep 17 00:00:00 2001 From: Milica Trifunovic Date: Wed, 16 Jul 2025 10:05:01 -0400 Subject: [PATCH 2/2] Update file names for gfx1151 --- shared/tensile/Tensile/Common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/tensile/Tensile/Common.py b/shared/tensile/Tensile/Common.py index 58a5907eaab..5336a3ac8a0 100644 --- a/shared/tensile/Tensile/Common.py +++ b/shared/tensile/Tensile/Common.py @@ -325,7 +325,7 @@ class DeveloperWarning(Warning): 'gfx1010':'navi10', 'gfx1011':'navi12', 'gfx1012':'navi14', 'gfx1030':'navi21', 'gfx1031':'navi22', 'gfx1032':'navi23', 'gfx1034':'navi24', 'gfx1035':'rembrandt', 'gfx1100':'navi31', 'gfx1101':'navi32', 'gfx1102':'navi33', 'gfx1103':'gfx1103', - 'gfx1150':'strixpoint', 'gfx1151':'gfx1151', + 'gfx1150':'strixpoint', 'gfx1151':'strixhalo', 'gfx1200':'gfx1200', 'gfx1201':'gfx1201' }