957bb7a4e5
* Perfetto submodule * include/rocprofiler-sdk/cxx/perfetto.hpp - adapted from tests/common/perfetto.hpp - updated json-tool to use <rocprofiler-sdk/cxx/perfetto.hpp> * Update include/rocprofiler-sdk/cxx - add details/delimit.hpp - add details/join.hpp - extend details/mpl.hpp - extend details/operators.hpp * Update lib/rocprofiler-sdk/hsa/async_copy.cpp - update MEMORY_COPY direction names * Preliminary perfetto support * Update lib/rocprofiler-sdk-tool/generatePerfetto.cpp - fix getting roctx msg vs. buffer operation name * Temporary variable restructuring * Perfetto patches after rebasing onto main * Revert lib/rocprofiler-sdk/hsa/async_copy.cpp - revert name * Update lib/rocprofiler-sdk-tool/generatePerfetto.cpp - fix ReadTrace * Update tests/bin/hip-in-libraries - sleep_for * Support PFTRACE output format option in rocprofv3 * Change perfetto logging * Update rocprofv3 tests to generate pftrace output * Minor tweak to json-tool.cpp * Update requirements.txt for perfetto testing * Fix data race on amount_read in generatePerfetto.cpp * Add testing for pftrace output - relatively simple testing which verifies that the pftrace file has the same number of entries as JSON data for HIP/HSA/marker/kernel/memory_copy * Fix import in perfetto_reader.py * Fix data race in generatePerfetto.cpp
62 wiersze
2.1 KiB
CMake
62 wiersze
2.1 KiB
CMake
#
|
|
# rocprofv3 tool test
|
|
#
|
|
cmake_minimum_required(VERSION 3.21.0 FATAL_ERROR)
|
|
|
|
project(
|
|
rocprofiler-tests-rocprofv3-hsa-queue-tracing
|
|
LANGUAGES CXX
|
|
VERSION 0.0.0)
|
|
|
|
string(REPLACE "LD_PRELOAD=" "ROCPROF_PRELOAD=" PRELOAD_ENV
|
|
"${ROCPROFILER_MEMCHECK_PRELOAD_ENV}")
|
|
|
|
set(tracing-env "${PRELOAD_ENV}")
|
|
|
|
rocprofiler_configure_pytest_files(CONFIG pytest.ini COPY validate.py conftest.py)
|
|
|
|
find_package(rocprofiler-sdk REQUIRED)
|
|
|
|
# hsa multiqueue dependency test
|
|
add_test(
|
|
NAME rocprofv3-test-hsa-multiqueue-execute
|
|
COMMAND
|
|
$<TARGET_FILE:rocprofiler-sdk::rocprofv3> --hsa-trace --kernel-trace -d
|
|
${CMAKE_CURRENT_BINARY_DIR}/%argt%-trace -o out --output-format json:csv:pftrace
|
|
$<TARGET_FILE:multiqueue_testapp>)
|
|
|
|
set_tests_properties(
|
|
rocprofv3-test-hsa-multiqueue-execute
|
|
PROPERTIES LABELS "integration-tests" ENVIRONMENT "${tracing-env}"
|
|
FAIL_REGULAR_EXPRESSION "HSA_API|HIP_API")
|
|
|
|
add_test(
|
|
NAME rocprofv3-test-hsa-multiqueue-validate
|
|
COMMAND
|
|
${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/validate.py --hsa-trace-input
|
|
${CMAKE_CURRENT_BINARY_DIR}/multiqueue_testapp-trace/out_hsa_api_trace.csv
|
|
--kernel-trace-input
|
|
${CMAKE_CURRENT_BINARY_DIR}/multiqueue_testapp-trace/out_kernel_trace.csv
|
|
--json-input
|
|
${CMAKE_CURRENT_BINARY_DIR}/multiqueue_testapp-trace/out_results.json
|
|
--pftrace-input
|
|
${CMAKE_CURRENT_BINARY_DIR}/multiqueue_testapp-trace/out_results.pftrace)
|
|
|
|
set(MULTIQUEUE_VALIDATION_FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/multiqueue_testapp-trace/out_hsa_api_trace.csv
|
|
${CMAKE_CURRENT_BINARY_DIR}/multiqueue_testapp-trace/out_kernel_api_trace.csv
|
|
${CMAKE_CURRENT_BINARY_DIR}/multiqueue_testapp-trace/out_results.json)
|
|
|
|
set_tests_properties(
|
|
rocprofv3-test-hsa-multiqueue-validate
|
|
PROPERTIES TIMEOUT
|
|
45
|
|
LABELS
|
|
"integration-tests"
|
|
DEPENDS
|
|
"rocprofv3-test-hsa-multiqueue-execute"
|
|
FAIL_REGULAR_EXPRESSION
|
|
"AssertionError"
|
|
ATTACHED_FILES_ON_FAIL
|
|
"${MULTIQUEUE_VALIDATION_FILES}")
|