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(