Implement interface to rocprofiler sdk (#695)

* Setting ROCPROF=rocprofiler-sdk environment variable will use rocprofiler-sdk C++ library instead of rocprofv3 python script

* Add runtime option --rocprofiler-sdk-library-path to use custom version of rocprofiler sdk library
    * Add --rocprofiler-sdk-library-path conftest option for tests

* Setup appropriate environment variables to inject rocprofiler sdk code to user command
    * Add env. vars. for counter collection and filtering
    * Add env. vars. for pc sampling

* Use python bindings to list counters supported by rocprofiler sdk
Этот коммит содержится в:
vedithal-amd
2025-05-13 10:48:21 -04:00
коммит произвёл GitHub
родитель d527d77337
Коммит 5cb86e31fc
16 изменённых файлов: 424 добавлений и 66 удалений
+2 -2
Просмотреть файл
@@ -1181,7 +1181,7 @@ def load_pc_sampling_data(workload, dir, file_prefix):
# No kernel filter, return grouped and sorted csv directly
if not workload.filter_kernel_ids:
# NB: the default file name is subject to changes from rocprofv3
# NB: the default file name is subject to changes from rocprofv3/rocprofiler_sdk
csv_file_path = Path.joinpath(
Path(dir), file_prefix + "_pc_sampling_host_trap.csv"
)
@@ -1221,7 +1221,7 @@ def load_pc_sampling_data(workload, dir, file_prefix):
elif len(workload.filter_kernel_ids) == 1:
# print("kernel id", workload.filter_kernel_ids[0])
# NB: the default file name is subject to changes from rocprofv3
# NB: the default file name is subject to changes from rocprofv3/rocprofiler_sdk
json_file_path = Path.joinpath(Path(dir), file_prefix + "_results.json")
if not json_file_path.exists():
console_error("PC sampling: can not read %s " % json_file_path)