rocprofv3: support specifying HW counters via command line (#1130)

* rocprofv3: support specifying PMC counters via command line

- E.g. `rocprofv3 --pmc SQ_WAVES -- <app>`

* Update CHANGELOG

* updated rocprofv3 help and documentation

---------

Co-authored-by: Gopesh Bhardwaj <gopesh.bhardwaj@amd.com>

[ROCm/rocprofiler-sdk commit: d93d4d9463]
This commit is contained in:
Jonathan R. Madsen
2024-10-25 02:49:30 -05:00
committed by GitHub
parent dbad56597a
commit 651e28f7f0
4 changed files with 72 additions and 3 deletions
@@ -55,3 +55,43 @@ foreach(_DIR "pmc_1" "pmc_2" "pmc_3" "pmc_4")
"rocprofv3-test-tracing-plus-cc-execute" FAIL_REGULAR_EXPRESSION
"${ROCPROFILER_DEFAULT_FAIL_REGEX}")
endforeach()
set(cmdl_single "GRBM_COUNT")
set(cmdl_multiple "SQ_WAVES" "GRBM_GUI_ACTIVE" "SQ_CYCLES:device=16384"
"SQ_BUSY_CYCLES:device=65536")
foreach(_GROUP "single" "multiple")
set(_TEST_NAME_PREFIX rocprofv3-test-tracing-plus-counter-collection-cmdl-${_GROUP})
add_test(
NAME ${_TEST_NAME_PREFIX}-execute
COMMAND
$<TARGET_FILE:rocprofiler-sdk::rocprofv3> --hip-trace --hsa-trace --pmc
${cmdl_${_GROUP}} -d ${CMAKE_CURRENT_BINARY_DIR}/out_cc_trace -o
cmdl/${_GROUP} --output-format JSON PFTRACE CSV --
$<TARGET_FILE:simple-transpose>)
set_tests_properties(
${_TEST_NAME_PREFIX}-execute
PROPERTIES TIMEOUT 45 LABELS "integration-tests" ENVIRONMENT "${cc-tracing-env}"
FAIL_REGULAR_EXPRESSION "${ROCPROFILER_DEFAULT_FAIL_REGEX}")
set(_TEST_OUTPUT_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/out_cc_trace/cmdl/${_GROUP})
add_test(
NAME ${_TEST_NAME_PREFIX}-validate
COMMAND
${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/validate.py --json-input
"${_TEST_OUTPUT_PREFIX}_results.json" --pftrace-input
"${_TEST_OUTPUT_PREFIX}_results.pftrace" --hsa-input
"${_TEST_OUTPUT_PREFIX}_hsa_api_trace.csv" --agent-input
"${_TEST_OUTPUT_PREFIX}_agent_info.csv" --counter-input
"${_TEST_OUTPUT_PREFIX}_counter_collection.csv")
set_tests_properties(
${_TEST_NAME_PREFIX}-validate
PROPERTIES TIMEOUT 45 LABELS "integration-tests" DEPENDS
"${_TEST_NAME_PREFIX}-execute" FAIL_REGULAR_EXPRESSION
"${ROCPROFILER_DEFAULT_FAIL_REGEX}")
endforeach()