File 0001-More-gfx1151.patch of Package python-tensile
From 8b1ec6f1f256c56fdf311e51871d646b0818ce01 Mon Sep 17 00:00:00 2001
From: Tom Rix <Tom.Rix@amd.com>
Date: Thu, 7 Nov 2024 08:37:11 -0800
Subject: [PATCH] More gfx1151
---
Tensile/Common.py | 4 ++--
Tensile/Source/CMakeLists.txt | 4 ++--
Tensile/Source/lib/include/Tensile/AMDGPU.hpp | 9 ++++++++-
.../Source/lib/include/Tensile/PlaceholderLibrary.hpp | 3 +++
Tensile/Source/lib/source/ocl/OclUtils.cpp | 4 ++++
5 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/Tensile/Common.py b/Tensile/Common.py
index e440e9426d42..27f66ea32acc 100644
--- a/Tensile/Common.py
+++ b/Tensile/Common.py
@@ -2311,8 +2311,8 @@ def assignGlobalParameters( config ):
globalParameters["CurrentISA"] = (9,0,6)
printWarning("Failed to detect ISA so forcing (gfx906) on windows")
if globalParameters["CurrentISA"] == (9,4,1) or globalParameters["CurrentISA"] == (9,4,2) or globalParameters["CurrentISA"] == (11,0,0) or \
- globalParameters["CurrentISA"] == (11,0,1) or globalParameters["CurrentISA"] == (11,0,2):
- printWarning("HardwareMonitor currently disabled for gfx941/942 or gfx1100/gfx1101/gfx1102")
+ globalParameters["CurrentISA"] == (11,0,1) or globalParameters["CurrentISA"] == (11,0,2) or globalParameters["CurrentISA"] == (11,5,1):
+ printWarning("HardwareMonitor currently disabled for gfx941/942 or gfx1100/gfx1101/gfx1102/gfx1151")
globalParameters["HardwareMonitor"] = False
# For ubuntu platforms, call dpkg to grep the version of hip-clang. This check is platform specific, and in the future
diff --git a/Tensile/Source/CMakeLists.txt b/Tensile/Source/CMakeLists.txt
index e973a9ed0780..63446b0ba1b8 100644
--- a/Tensile/Source/CMakeLists.txt
+++ b/Tensile/Source/CMakeLists.txt
@@ -51,9 +51,9 @@ if(NOT DEFINED CXX_VERSION_STRING)
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 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 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 CACHE STRING "GPU architectures")
+ set(TENSILE_GPU_ARCHS gfx803 gfx900 gfx906 gfx908 gfx90a gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 gfx1100 gfx1101 gfx1102 gfx1151 CACHE STRING "GPU architectures")
endif()
include(CMakeDependentOption)
diff --git a/Tensile/Source/lib/include/Tensile/AMDGPU.hpp b/Tensile/Source/lib/include/Tensile/AMDGPU.hpp
index a35a10b8c797..69d95f807d0a 100644
--- a/Tensile/Source/lib/include/Tensile/AMDGPU.hpp
+++ b/Tensile/Source/lib/include/Tensile/AMDGPU.hpp
@@ -73,7 +73,8 @@ namespace Tensile
gfx1035 = 1035,
gfx1100 = 1100,
gfx1101 = 1101,
- gfx1102 = 1102
+ gfx1102 = 1102,
+ gfx1151 = 1151
};
static std::string toString(Processor p)
@@ -118,6 +119,8 @@ namespace Tensile
return "gfx1101";
case AMDGPU::Processor::gfx1102:
return "gfx1102";
+ case AMDGPU::Processor::gfx1151:
+ return "gfx1151";
}
return "";
}
@@ -184,6 +187,10 @@ namespace Tensile
{
return AMDGPU::Processor::gfx1102;
}
+ else if(deviceString.find("gfx1151") != std::string::npos)
+ {
+ return AMDGPU::Processor::gfx1151;
+ }
else
{
return static_cast<AMDGPU::Processor>(0);
diff --git a/Tensile/Source/lib/include/Tensile/PlaceholderLibrary.hpp b/Tensile/Source/lib/include/Tensile/PlaceholderLibrary.hpp
index 10898ec2d1d6..f83713c04430 100644
--- a/Tensile/Source/lib/include/Tensile/PlaceholderLibrary.hpp
+++ b/Tensile/Source/lib/include/Tensile/PlaceholderLibrary.hpp
@@ -58,6 +58,7 @@ namespace Tensile
gfx1100,
gfx1101,
gfx1102,
+ gfx1151,
All
};
@@ -106,6 +107,8 @@ namespace Tensile
return "TensileLibrary_*_gfx1101";
case LazyLoadingInit::gfx1102:
return "TensileLibrary_*_gfx1102";
+ case LazyLoadingInit::gfx1151:
+ return "TensileLibrary_*_gfx1151";
case LazyLoadingInit::None:
return "";
}
diff --git a/Tensile/Source/lib/source/ocl/OclUtils.cpp b/Tensile/Source/lib/source/ocl/OclUtils.cpp
index 8ee6d21769f0..ff04c56a1025 100644
--- a/Tensile/Source/lib/source/ocl/OclUtils.cpp
+++ b/Tensile/Source/lib/source/ocl/OclUtils.cpp
@@ -188,6 +188,10 @@ namespace Tensile
{
return AMDGPU::Processor::gfx1102;
}
+ else if(deviceString.find("gfx1151") != std::string::npos)
+ {
+ return AMDGPU::Processor::gfx1151;
+ }
else
{
return static_cast<AMDGPU::Processor>(0);
--
2.47.0