aaff4976d2
* Update lib/rocprofiler-sdk/hsa/queue.cpp - switch using the kernel_pkt.kernel_dispatch.completion_signal instead of interrupt signal for getting the dispatch time * Update tests/kernel-tracing/validate.py - add verification of total runtime collected in test_timestamps - the sum of the runtime of all the kernels in reproducible-runtime should be ~1 sec +/- 10% * Remove include/rocprofiler-sdk/rocprofiler_plugin.h * Update CI workflow - update actions/cache@v3 -> v4 - actions/cache/save@v3 -> v4 - thollander/actions-comment-pull-request@v2 -> v2.4.3 * Update pytest.ini - change default options to one that is more verbose * Update tests/kernel-tracing/CMakeLists.txt - skip test_total_runtime when Address or Thread Sanitizer enabled - overhead skews the results * Update tests/kernel-tracing/validate.py - separate test_total_runtime test
53 lines
1.7 KiB
CMake
53 lines
1.7 KiB
CMake
#
|
|
#
|
|
#
|
|
cmake_minimum_required(VERSION 3.21.0 FATAL_ERROR)
|
|
|
|
project(
|
|
rocprofiler-tests-kernel-tracing
|
|
LANGUAGES CXX
|
|
VERSION 0.0.0)
|
|
|
|
find_package(rocprofiler-sdk REQUIRED)
|
|
|
|
set(PYTEST_ARGS)
|
|
if(ROCPROFILER_MEMCHECK MATCHES "(Address|Thread)Sanitizer")
|
|
set(PYTEST_ARGS -k "not test_total_runtime")
|
|
endif()
|
|
|
|
if(ROCPROFILER_MEMCHECK_PRELOAD_ENV)
|
|
set(PRELOAD_ENV
|
|
"${ROCPROFILER_MEMCHECK_PRELOAD_ENV}:$<TARGET_FILE:rocprofiler-sdk-json-tool>")
|
|
else()
|
|
set(PRELOAD_ENV "LD_PRELOAD=$<TARGET_FILE:rocprofiler-sdk-json-tool>")
|
|
endif()
|
|
|
|
add_test(NAME test-kernel-tracing-execute COMMAND $<TARGET_FILE:reproducible-runtime>)
|
|
|
|
set(kernel-tracing-env
|
|
"${PRELOAD_ENV}"
|
|
"HSA_TOOLS_LIB=$<TARGET_FILE:rocprofiler::rocprofiler-shared-library>"
|
|
"ROCPROFILER_TOOL_OUTPUT_FILE=kernel-tracing-test.json"
|
|
"LD_LIBRARY_PATH=$<TARGET_FILE_DIR:rocprofiler::rocprofiler-shared-library>:$ENV{LD_LIBRARY_PATH}"
|
|
)
|
|
|
|
set_tests_properties(
|
|
test-kernel-tracing-execute
|
|
PROPERTIES TIMEOUT 45 LABELS "integration-tests" ENVIRONMENT "${kernel-tracing-env}"
|
|
FAIL_REGULAR_EXPRESSION "threw an exception")
|
|
|
|
foreach(FILENAME validate.py pytest.ini conftest.py)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}
|
|
${CMAKE_CURRENT_BINARY_DIR}/${FILENAME} COPYONLY)
|
|
endforeach()
|
|
|
|
add_test(
|
|
NAME test-kernel-tracing-validate
|
|
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/validate.py ${PYTEST_ARGS}
|
|
--input ${CMAKE_CURRENT_BINARY_DIR}/kernel-tracing-test.json)
|
|
|
|
set_tests_properties(
|
|
test-kernel-tracing-validate
|
|
PROPERTIES TIMEOUT 45 LABELS "integration-tests" DEPENDS test-kernel-tracing-execute
|
|
FAIL_REGULAR_EXPRESSION "threw an exception")
|