From 1d19ae9483f95b39b459cd3d22d4322df45c502f Mon Sep 17 00:00:00 2001 From: coleramos425 Date: Mon, 3 Jun 2024 17:07:23 +0000 Subject: [PATCH] Detection of MI308X and hardcode mclk to address bug in rocm-smi Signed-off-by: coleramos425 --- src/omniperf_soc/soc_base.py | 6 ++++++ src/omniperf_soc/soc_gfx942.py | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/src/omniperf_soc/soc_base.py b/src/omniperf_soc/soc_base.py index b0d335b810..d0b01cbfda 100644 --- a/src/omniperf_soc/soc_base.py +++ b/src/omniperf_soc/soc_base.py @@ -194,6 +194,12 @@ class OmniSoC_Base: or "MI300X" in self.check_arch_override() ): self._mspec.gpu_model = "MI300X_A1" + # We need to distinguish MI308X by peeking reported num CUs + elif( + self._mspec.cu_per_gpu == "80" + or "MI308X" in self.check_arch_override() + ): + self._mspec.gpu_model = "MI308X" else: console_error( "Cannot parse MI300 details from rocminfo. Please verify output or set the arch using (e.g.,) " diff --git a/src/omniperf_soc/soc_gfx942.py b/src/omniperf_soc/soc_gfx942.py index 7b69c74193..88aeda39e9 100644 --- a/src/omniperf_soc/soc_gfx942.py +++ b/src/omniperf_soc/soc_gfx942.py @@ -69,6 +69,11 @@ class gfx942_soc(OmniSoC_Base): ) # self.roofline_obj = Roofline(args, self._mspec) + # --showmclkrange is broken in MI308X, hardcode freq + if self._mspec.gpu_model == "MI308X": + self._mspec.max_mclk = 1300 + self._mspec.cur_mclk = 1300 + # Set arch specific specs self._mspec._l2_banks = 16 self._mspec.lds_banks_per_cu = 32