Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

134 lines
4.7 KiB
CMake

#
#
#
cmake_minimum_required(VERSION 3.21.0 FATAL_ERROR)
project(
rocprofiler-sdk-tests-thread-trace
LANGUAGES CXX
VERSION 0.0.0)
find_package(rocprofiler-sdk REQUIRED)
# Single dispatch test
rocprofiler_add_integration_execute_test(
thread-trace-api-single-test
TARGET thread-trace-test-app
TIMEOUT 10
LABELS "integration-tests"
PRELOAD "$<TARGET_FILE:thread-trace-single-tool>")
# Multi dispatch test
rocprofiler_add_integration_execute_test(
thread-trace-api-multi-test
TARGET thread-trace-test-app
TIMEOUT 10
LABELS "integration-tests"
PRELOAD "$<TARGET_FILE:thread-trace-multi-tool>")
# Agent profiling test
rocprofiler_add_integration_execute_test(
thread-trace-api-agent-test
TARGET thread-trace-test-app
TIMEOUT 10
LABELS "integration-tests"
PRELOAD "$<TARGET_FILE:thread-trace-agent-tool>")
# Start before hsa_init(): verifies the request is cached and replayed once HSA registers.
rocprofiler_add_integration_execute_test(
thread-trace-api-agent-before-hsa-init-test
TARGET thread-trace-test-app
TIMEOUT 10
LABELS "integration-tests"
PRELOAD "$<TARGET_FILE:thread-trace-agent-tool>"
ENVIRONMENT "ATT_START_BEFORE_HSA_INIT=1")
# Start+stop before hsa_init(): verifies the cached request is dropped and not replayed.
rocprofiler_add_integration_execute_test(
thread-trace-api-agent-start-stop-before-hsa-init-test
TARGET thread-trace-test-app
TIMEOUT 10
LABELS "integration-tests"
PRELOAD "$<TARGET_FILE:thread-trace-agent-tool>"
ENVIRONMENT "ATT_START_BEFORE_HSA_INIT=1;ATT_STOP_BEFORE_HSA_INIT=1")
# Feature introduced in ROCm 7.1, however some pre-release CI builds for 7.1 dont have
# this feature in aqlprofile. Disable the next tests for ROCm < 7.2.
set(IS_DISABLED True)
find_package(hip CONFIG REQUIRED)
if(hip_FOUND)
if(${hip_VERSION_MAJOR} EQUAL 7 AND ${hip_VERSION_MINOR} GREATER 1)
set(IS_DISABLED False)
elseif(${hip_VERSION_MAJOR} GREATER 7)
set(IS_DISABLED False)
endif()
endif()
# Test large buffer sizes. 5120 == 5GB
rocprofiler_add_integration_execute_test(
thread-trace-api-large-buffer-test
TARGET thread-trace-test-app
TIMEOUT 30
LABELS "integration-tests"
PRELOAD "$<TARGET_FILE:thread-trace-agent-tool>"
ENVIRONMENT "ATT_LARGE_BUFFER_TEST=1"
DISABLED ${IS_DISABLED})
# Test occupancy mode
rocprofiler_add_integration_execute_test(
thread-trace-api-extra-args
TARGET thread-trace-test-app
TIMEOUT 10
PRELOAD "$<TARGET_FILE:thread-trace-agent-tool>"
ENVIRONMENT "ATT_NODETAIL=1"
DISABLED ${ROCPROFILER_DISABLE_UNSTABLE_CTESTS})
rocprofiler_sdk_sqtt_triple_buffer_disabled(TRIPLE_BUFFER_DISABLED)
set(TRIPLE_BUFFER_DISABLED ${TRIPLE_BUFFER_DISABLED} OR ${IS_DISABLED})
# Checks for data integrity with ttracedata
rocprofiler_add_integration_execute_test(
thread-trace-api-triple-buffer-consistency-test
TARGET thread-trace-test-app
TIMEOUT 120
PRELOAD "$<TARGET_FILE:thread-trace-triple-buffer-tool>"
ENVIRONMENT "TRIPLEBUFFER=1;ATT_NODETAIL=1;ATT_SLOW_CALLBACK=0"
DISABLED ${TRIPLE_BUFFER_DISABLED})
# Collects a lot of data, and check if parsing works successfully
rocprofiler_add_integration_execute_test(
thread-trace-api-triple-buffer-hammer-test
TARGET thread-trace-test-app
TIMEOUT 240
PRELOAD "$<TARGET_FILE:thread-trace-triple-buffer-tool>"
ENVIRONMENT "TRIPLEBUFFER=1;ATT_NODETAIL=0;ATT_SLOW_CALLBACK=0"
DISABLED ${TRIPLE_BUFFER_DISABLED})
# Tests for proper handling of when the tool is very slow
rocprofiler_add_integration_execute_test(
thread-trace-api-triple-buffer-slow-test
TARGET thread-trace-test-app
TIMEOUT 120
PRELOAD "$<TARGET_FILE:thread-trace-triple-buffer-tool>"
ENVIRONMENT "TRIPLEBUFFER=1;ATT_NODETAIL=1;ATT_SLOW_CALLBACK=1"
DISABLED ${TRIPLE_BUFFER_DISABLED})
# Some runtime versions have a problem with this. Disabling until that is fully resolved.
# Tests for thread trace not paused during application run (global destructor)
rocprofiler_add_integration_execute_test(
thread-trace-api-triple-buffer-no-pause-test
TARGET thread-trace-test-app
TIMEOUT 120
PRELOAD "$<TARGET_FILE:thread-trace-triple-buffer-tool>"
ENVIRONMENT "TRIPLEBUFFER=1;EXECUTE_PAUSE=0"
DISABLED ${ROCPROFILER_DISABLE_UNSTABLE_CTESTS} OR ${TRIPLE_BUFFER_DISABLED})
# Tests for thread trace starting and stopping multiple times during the application
rocprofiler_add_integration_execute_test(
thread-trace-api-triple-buffer-multiple-cmds-test
TARGET thread-trace-test-app
TIMEOUT 120
PRELOAD "$<TARGET_FILE:thread-trace-triple-buffer-tool>"
ENVIRONMENT "TRIPLEBUFFER=1;STARTSTOP=1;ATT_NODETAIL=1"
DISABLED ${TRIPLE_BUFFER_DISABLED})