From fbb384bd2f7f8f74ad8ed6cfd96fbc4fb77bf2ca Mon Sep 17 00:00:00 2001 From: Nick Curtis Date: Thu, 9 May 2024 16:35:58 +0000 Subject: [PATCH] Add ability to overide arch when name missing in rocminfo Signed-off-by: Nick Curtis [ROCm/rocprofiler-compute commit: 989dd3b7ae2327d3e8a0bbdc05ba4a21a8865999] --- .../rocprofiler-compute/src/omniperf_soc/soc_base.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/projects/rocprofiler-compute/src/omniperf_soc/soc_base.py b/projects/rocprofiler-compute/src/omniperf_soc/soc_base.py index 1e007035a7..d074905ac1 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/soc_base.py +++ b/projects/rocprofiler-compute/src/omniperf_soc/soc_base.py @@ -99,6 +99,10 @@ class OmniSoC_Base: # assume no SoC specific options and return empty list by default return [] + def check_arch_override(self): + if 'OMNIPERF_ARCH_OVERRIDE' in os.environ.keys(): + return os.environ['OMNIPERF_ARCH_OVERRIDE'] + @demarcate def populate_mspec(self): from utils.specs import search, run, total_sqc, total_xcds @@ -179,13 +183,14 @@ class OmniSoC_Base: 0 ][0] if self._mspec.gpu_arch == "gfx942": - if "MI300A" in "\n".join(self._mspec._rocminfo): + if "MI300A" in "\n".join(self._mspec._rocminfo) or 'MI300A' in self.check_arch_override(): self._mspec.gpu_model = "MI300A_A1" - elif "MI300X" in "\n".join(self._mspec._rocminfo): + elif "MI300X" in "\n".join(self._mspec._rocminfo) or 'MI300X' in self.check_arch_override(): self._mspec.gpu_model = "MI300X_A1" else: console_error( - "Cannot parse MI300 details from rocminfo. Please verify output." + "Cannot parse MI300 details from rocminfo. Please verify output or set the arch using (e.g.,) " + "export OMNIPERF_ARCH_OVERRIDE=\"MI300A\"" ) self._mspec.num_xcd = str(