Files
rocm-systems/tests/rocprofv3/pc-sampling/host-trap/exec-mask-manipulation/CMakeLists.txt
T
Nagaraj, Sriraksha 50b185b9ac rocprofv3: PC Sampling Support (#14)
* Adding tool pc sampling support

Fixing merge issue

tool support on SDKupdates

link amd-comgr

Sanitizer failure fix

fix format

Addressing review comments

misc fix

Adding dispatch id to the CSV output

AddingCHANGELOG

[ROCProfV3][PC Sampling] Initial ROCProfV3 PC sampling tests for JSON and CSV formats (#17)

ROCProfV3 initial tests for JSON and CSV output.

Simple kernels that simplify the verification of samples to instruction decoding
has been introduced.

removing option to enable pc sampling explicitly

Adding documentation

no pc-sampling option in tests anymore

Addressing review comments

Updating docs

an option for choosing whether all units must be sampled

try ignoring PC sampling tests (#36)

* run pc-sampling tests on MI2xx runners
* use v_fmac_f32 instead of s_nop 0 in tests

* fixing docs
2024-12-04 18:32:48 -06:00

151 regels
5.7 KiB
CMake

#
# rocprofv3 tool test
#
cmake_minimum_required(VERSION 3.21.0 FATAL_ERROR)
project(
rocprofiler-tests-pc-sampling
LANGUAGES CXX
VERSION 0.0.0)
find_package(rocprofiler-sdk REQUIRED)
rocprofiler_configure_pytest_files(CONFIG pytest.ini COPY validate.py conftest.py
input.json input.yml)
add_test(
NAME rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-cmd-execute
COMMAND
$<TARGET_FILE:rocprofiler-sdk::rocprofv3> --pc-sampling-unit time
--pc-sampling-method host_trap --pc-sampling-interval 1 -d
${CMAKE_CURRENT_BINARY_DIR}/pc_sampling_cmd_input -o out --output-format csv json
-- $<TARGET_FILE:exec-mask-manipulation>)
string(REPLACE "LD_PRELOAD=" "ROCPROF_PRELOAD=" PRELOAD_ENV
"${ROCPROFILER_MEMCHECK_PRELOAD_ENV}")
set(cc-env-pc-sampling "${PRELOAD_ENV}")
set_tests_properties(
rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-cmd-execute
PROPERTIES TIMEOUT
45
LABELS
"integration-tests;pc-sampling"
ENVIRONMENT
"${cc-env-pc-sampling}"
FAIL_REGULAR_EXPRESSION
"${ROCPROFILER_DEFAULT_FAIL_REGEX}"
SKIP_REGULAR_EXPRESSION
"PC sampling unavailable")
add_test(
NAME rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-json-execute
COMMAND
$<TARGET_FILE:rocprofiler-sdk::rocprofv3> -i
${CMAKE_CURRENT_BINARY_DIR}/input.json -d
${CMAKE_CURRENT_BINARY_DIR}/pc_sampling_json_input --
$<TARGET_FILE:exec-mask-manipulation>)
set_tests_properties(
rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-json-execute
PROPERTIES TIMEOUT
45
LABELS
"integration-tests;pc-sampling"
ENVIRONMENT
"${cc-env-pc-sampling}"
FAIL_REGULAR_EXPRESSION
"${ROCPROFILER_DEFAULT_FAIL_REGEX}"
SKIP_REGULAR_EXPRESSION
"PC sampling unavailable")
add_test(
NAME rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-yaml-execute
COMMAND
$<TARGET_FILE:rocprofiler-sdk::rocprofv3> -i
${CMAKE_CURRENT_BINARY_DIR}/input.yml -d
${CMAKE_CURRENT_BINARY_DIR}/pc_sampling_yaml_input -o out --output-format csv
json -- $<TARGET_FILE:exec-mask-manipulation>)
set_tests_properties(
rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-yaml-execute
PROPERTIES TIMEOUT
45
LABELS
"integration-tests;pc-sampling"
ENVIRONMENT
"${cc-env-pc-sampling}"
FAIL_REGULAR_EXPRESSION
"${ROCPROFILER_DEFAULT_FAIL_REGEX}"
SKIP_REGULAR_EXPRESSION
"PC sampling unavailable")
# ========================= Validation tests
add_test(
NAME rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-cmd-validate
COMMAND
${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/validate.py -k
test_validate_pc_sampling_exec_mask_manipulation_ --input-csv
${CMAKE_CURRENT_BINARY_DIR}/pc_sampling_cmd_input/out_pc_sampling_host_trap.csv
--input-json ${CMAKE_CURRENT_BINARY_DIR}/pc_sampling_cmd_input/out_results.json
--all-sampled False)
set_tests_properties(
rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-cmd-validate
PROPERTIES TIMEOUT
60
LABELS
"integration-tests;pc-sampling"
DEPENDS
"rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-cmd-execute"
FAIL_REGULAR_EXPRESSION
"${ROCPROFILER_DEFAULT_FAIL_REGEX}"
SKIP_REGULAR_EXPRESSION
"PC sampling unavailable")
add_test(
NAME rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-json-validate
COMMAND
${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/validate.py -k
test_validate_pc_sampling_exec_mask_manipulation_ --input-csv
${CMAKE_CURRENT_BINARY_DIR}/pc_sampling_json_input/out_pc_sampling_host_trap.csv
--input-json ${CMAKE_CURRENT_BINARY_DIR}/pc_sampling_json_input/out_results.json
--all-sampled False)
set_tests_properties(
rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-json-validate
PROPERTIES TIMEOUT
60
LABELS
"integration-tests;pc-sampling"
DEPENDS
"rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-json-execute"
FAIL_REGULAR_EXPRESSION
"${ROCPROFILER_DEFAULT_FAIL_REGEX}"
SKIP_REGULAR_EXPRESSION
"PC sampling unavailable")
add_test(
NAME rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-yaml-validate
COMMAND
${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/validate.py -k
test_validate_pc_sampling_exec_mask_manipulation_ --input-csv
${CMAKE_CURRENT_BINARY_DIR}/pc_sampling_yaml_input/out_pc_sampling_host_trap.csv
--input-json ${CMAKE_CURRENT_BINARY_DIR}/pc_sampling_yaml_input/out_results.json
--all-sampled False)
set_tests_properties(
rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-yaml-validate
PROPERTIES TIMEOUT
60
LABELS
"integration-tests;pc-sampling"
DEPENDS
"rocprofv3-test-cc-pc-sampling-exec-mask-manipulation-input-yaml-execute"
FAIL_REGULAR_EXPRESSION
"${ROCPROFILER_DEFAULT_FAIL_REGEX}"
SKIP_REGULAR_EXPRESSION
"PC sampling unavailable")