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
parent 668402042c
commit c8d67fc97e
19 changed files with 35 additions and 31 deletions
@@ -542,7 +542,7 @@ def test_path(binary_handler_profile_rocprof_compute):
@pytest.mark.misc
def test_roof_kernel_names(binary_handler_profile_rocprof_compute):
if soc in ("MI100", "MI350"):
if soc in ("MI100"):
# roofline is not supported on MI100
assert True
# Do not continue testing
@@ -557,7 +557,9 @@ def test_roof_kernel_names(binary_handler_profile_rocprof_compute):
# assert successful run
assert returncode == 0
file_dict = test_utils.check_csv_files(workload_dir, 1, num_kernels)
if soc == "MI200" in soc or "MI300" in soc:
if soc == "MI100":
assert sorted(list(file_dict.keys())) == ALL_CSVS_MI100
else:
assert sorted(list(file_dict.keys())) == sorted(
(
[f for f in ROOF_ONLY_FILES if f != "timestamps.csv"]
@@ -566,8 +568,6 @@ def test_roof_kernel_names(binary_handler_profile_rocprof_compute):
)
+ ["kernelName_legend.pdf"]
)
else:
assert sorted(list(file_dict.keys())) == ALL_CSVS_MI100
validate(
inspect.stack()[0][3],
@@ -1816,7 +1816,7 @@ def test_join_type_kernel(binary_handler_profile_rocprof_compute):
@pytest.mark.sort
def test_roof_sort_dispatches(binary_handler_profile_rocprof_compute):
# only test 1 device for roofline
if soc in ("MI100", "MI350"):
if soc in ("MI100"):
# roofline is not supported on MI100
assert True
# Do not continue testing
@@ -1851,7 +1851,7 @@ def test_roof_sort_dispatches(binary_handler_profile_rocprof_compute):
@pytest.mark.sort
def test_roof_sort_kernels(binary_handler_profile_rocprof_compute):
# only test 1 device for roofline
if soc in ("MI100", "MI350"):
if soc in ("MI100"):
# roofline is not supported on MI100
assert True
# Do not continue testing
@@ -1886,7 +1886,7 @@ def test_roof_sort_kernels(binary_handler_profile_rocprof_compute):
@pytest.mark.mem
def test_roof_mem_levels_vL1D(binary_handler_profile_rocprof_compute):
# only test 1 device for roofline
if soc in ("MI100", "MI350"):
if soc in ("MI100"):
# roofline is not supported on MI100
assert True
# Do not continue testing
@@ -1921,7 +1921,7 @@ def test_roof_mem_levels_vL1D(binary_handler_profile_rocprof_compute):
@pytest.mark.mem
def test_roof_mem_levels_LDS(binary_handler_profile_rocprof_compute):
# only test 1 device for roofline
if soc in ("MI100", "MI350"):
if soc in ("MI100"):
# roofline is not supported on MI100
assert True
# Do not continue testing