7166b1ab58
* [rocprofv3] Add rocpd output support (part 1: prelude) - git submodules for sqlite3, GOTCHA, and pybind11 - HIP stream data - rocprofiler_query_intercept_table_name(...) - serialization load - rocprofiler::sdk::get_perfetto_category(KindT) - rocprofiler::sdk::parse::strip - common library updates - md5sum - hasher - simple_timer - static_tl_object - get_process_start_time_ns(pid_t) - output library updates - node_info - file_generator (generator is now virtual base class) - stream info updates * Added submodules * Code review updates * Minor unused-but-set-X warning fixes * Update CI - install libsqlite3-dev package * Update CI - install libsqlite3-dev package * Fix static thread-local object memory leak - also fix signal handler chaining * Remove URL from comment * Remove page migration exception * Enable ROCPROFILER_BUILD_SQLITE3 by default - try find_package(SQLite3) first and then build when ROCPROFILER_BUILD_SQLITE3=ON * Fix gotcha installation - make install of target optional * Validate tracing + counter collection dispatch data - i.e. correlation ids, thread ids, timestamps * Make find_package(SQLite3) optional - ROCm CI does not have SQLite3 dev package installed and cannot build from source (missing tclsh) * Fixes to tracing + counter collection test * get_process_start_time_ns update - original implementation did not work * Fix pytest-packages test_perfetto_data for counter collection - erroneous failure when used with same PMC + multiple agents * cmake policy: option() honors normal variables - for GOTCHA submodule * Improve samples/api_buffered_tracing stability - reduce likelihood of sporadic exception throw * Update gotcha submodule --------- Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
77 lines
2.4 KiB
CMake
77 lines
2.4 KiB
CMake
#
|
|
#
|
|
#
|
|
cmake_minimum_required(VERSION 3.21.0 FATAL_ERROR)
|
|
|
|
project(
|
|
rocprofiler-sdk-tests-page-migration
|
|
LANGUAGES CXX
|
|
VERSION 0.0.0)
|
|
|
|
find_package(rocprofiler-sdk REQUIRED)
|
|
|
|
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()
|
|
|
|
list(GET rocprofiler-sdk-tests-gfx-info 0 page-migration-gpu-0-gfx-info)
|
|
|
|
# disabled on all architectures
|
|
if("${page-migration-gpu-0-gfx-info}" MATCHES "^gfx([0-9a-fA-F]+)$")
|
|
set(IS_DISABLED ON)
|
|
endif()
|
|
|
|
add_test(NAME test-page-migration-execute COMMAND $<TARGET_FILE:page-migration> 4 1024)
|
|
|
|
set(page-migration-env
|
|
"${PRELOAD_ENV}"
|
|
"ROCPROFILER_DISABLE_PERFETTO_ANNOTATIONS=1"
|
|
"ROCPROFILER_TOOL_OUTPUT_FILE=page-migration-test.json"
|
|
"ROCPROFILER_TOOL_CONTEXTS_EXCLUDE=HSA_API_BUFFERED,HSA_API_CALLBACK"
|
|
"LD_LIBRARY_PATH=$<TARGET_FILE_DIR:rocprofiler-sdk::rocprofiler-sdk-shared-library>:$ENV{LD_LIBRARY_PATH}"
|
|
)
|
|
|
|
set_tests_properties(
|
|
test-page-migration-execute
|
|
PROPERTIES TIMEOUT
|
|
60
|
|
LABELS
|
|
"integration-tests"
|
|
ENVIRONMENT
|
|
"${page-migration-env}"
|
|
FAIL_REGULAR_EXPRESSION
|
|
"${ROCPROFILER_DEFAULT_FAIL_REGEX}"
|
|
SKIP_REGULAR_EXPRESSION
|
|
"KFD does not support SVM event reporting"
|
|
WORKING_DIRECTORY
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
DISABLED
|
|
"${IS_DISABLED}")
|
|
|
|
# copy to binary directory
|
|
rocprofiler_configure_pytest_files(COPY validate.py conftest.py CONFIG pytest.ini)
|
|
|
|
add_test(NAME test-page-migration-validate
|
|
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/validate.py --input
|
|
${CMAKE_CURRENT_BINARY_DIR}/page-migration-test.json)
|
|
|
|
set_tests_properties(
|
|
test-page-migration-validate
|
|
PROPERTIES TIMEOUT
|
|
45
|
|
LABELS
|
|
"integration-tests"
|
|
DEPENDS
|
|
test-page-migration-execute
|
|
FAIL_REGULAR_EXPRESSION
|
|
"${ROCPROFILER_DEFAULT_FAIL_REGEX}"
|
|
SKIP_REGULAR_EXPRESSION
|
|
"KFD does not support SVM event reporting"
|
|
WORKING_DIRECTORY
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
DISABLED
|
|
"${IS_DISABLED}")
|