Enable roofline for MI350 series (#677)

Rework of roofline binaries generated from rocm-amdgpu-bench
- removed arch identifier in bin name
- removed rocm5 bins altogether

Updated required distros for roofline
- updated distro checks and bin naming
- moved up ubuntu20.04->22.04 and sles15.3->15.6 per rocm support

Enabled ctests for mi350 for test_roof_*
- removed mi350 series check to skip these specific tests

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

[ROCm/rocprofiler-compute commit: 41e73650d5]
This commit is contained in:
cfallows-amd
2025-04-28 16:08:23 -04:00
committed by GitHub
orang tua 668402042c
melakukan c8d67fc97e
19 mengubah file dengan 35 tambahan dan 31 penghapusan
@@ -0,0 +1,12 @@
pmc: SQ_INSTS_VALU_ADD_F16 SQ_INSTS_VALU_MUL_F16 SQ_INSTS_VALU_FMA_F16 SQ_INSTS_VALU_TRANS_F16 SQ_INSTS_VALU_ADD_F32 SQ_INSTS_VALU_MUL_F32 SQ_INSTS_VALU_FMA_F32 SQ_INSTS_VALU_TRANS_F32
pmc: SQ_INSTS_VALU_ADD_F64 SQ_INSTS_VALU_MUL_F64 SQ_INSTS_VALU_FMA_F64 SQ_INSTS_VALU_TRANS_F64 SQ_INSTS_VALU_MFMA_MOPS_F16 SQ_INSTS_VALU_MFMA_MOPS_BF16 SQ_INSTS_VALU_MFMA_MOPS_F32 SQ_INSTS_VALU_MFMA_MOPS_F64 TCP_TCC_READ_REQ_sum TCC_EA0_RDREQ_32B_sum TCC_EA0_RDREQ_sum TCC_EA0_WRREQ_64B_sum TCC_EA0_WRREQ_sum TCC_BUBBLE_sum
pmc: SQ_LDS_IDX_ACTIVE SQ_LDS_BANK_CONFLICT TCP_TOTAL_CACHE_ACCESSES_sum TCP_TCC_WRITE_REQ_sum TCP_TCC_ATOMIC_WITH_RET_REQ_sum TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum
#ROOF:MI300 series and above
pmc: SQ_INSTS_VALU_MFMA_MOPS_F8
range:
gpu:
kernels:
@@ -46,17 +46,6 @@ class gfx950_soc(OmniSoC_Base):
)
)
)
else:
# NB: We're using generalized Mi300 perfmon configs
self.set_perfmon_dir(
str(
Path(str(config.rocprof_compute_home)).joinpath(
"rocprof_compute_soc",
"profile_configs",
"gfx950",
)
)
)
self.set_compatible_profilers(["rocprofv3"])
# Per IP block max number of simultaneous counters. GFX IP Blocks
self.set_perfmon_config(
@@ -48,6 +48,7 @@ SUPPORTED_DATATYPES = {
"gfx940": ["FP8", "FP16", "BF16", "FP32", "FP64", "I8", "I32", "I64"], # Unsupported:
"gfx941": ["FP8", "FP16", "BF16", "FP32", "FP64", "I8", "I32", "I64"], # Unsupported:
"gfx942": ["FP8", "FP16", "BF16", "FP32", "FP64", "I8", "I32", "I64"], # Unsupported:
"gfx950": ["FP8", "FP16", "BF16", "FP32", "FP64", "I8", "I32", "I64"], # Unsupported:
}
PEAK_OPS_DATATYPES = ["FP8", "FP16", "BF16", "FP32", "FP64", "I8", "I32", "I64"]
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -939,14 +939,14 @@ def detect_roofline(mspec):
elif (
(type(sles_distro) == str and len(sles_distro) >= 3)
and sles_distro[:2] == "15" # confirm string and len
and int(sles_distro[3]) >= 3 # SLES15 and SP >= 3
and int(sles_distro[3]) >= 6 # SLES15 and SP >= 6
):
# Must be a valid SLES machine
# Use SP3 binary for all forward compatible service pack versions
distro = "15.3"
elif ubuntu_distro == "20.04" or ubuntu_distro == "22.04" or ubuntu_distro == "24.04":
# Use SP6 binary for all forward compatible service pack versions
distro = "15.6"
elif ubuntu_distro == "22.04" or ubuntu_distro == "24.04":
# Must be a valid Ubuntu machine
distro = ubuntu_distro
distro = "22.04"
else:
console_error("roofline", "Cannot find a valid binary for your operating system")
@@ -984,10 +984,8 @@ def mibench(args, mspec):
distro_map = {
"platform:el8": "rhel8",
"15.3": "sles15sp5",
"20.04": "ubuntu20_04",
"22.04": "ubuntu20_04",
"24.04": "ubuntu20_04",
"15.6": "sles15sp6",
"22.04": "ubuntu22_04",
}
binary_paths = []
@@ -1008,8 +1006,6 @@ def mibench(args, mspec):
dir
+ "-"
+ distro_map[target_binary["distro"]]
+ "-"
+ mspec.gpu_series.lower()
+ "-rocm"
+ target_binary["rocm_ver"]
)