Add the roctracer-tests package

The roctracer-tests package contains all the roctracer test binaries
and scripts needed to run the testsuite outside of the build directory.

Change-Id: Id11f862fb4bdb2425d68f455074172c38814ec92
This commit is contained in:
Laurent Morichetti
2022-06-23 16:01:06 -07:00
zatwierdzone przez Laurent Morichetti
rodzic 957084de07
commit 3adc56bd9b
7 zmienionych plików z 79 dodań i 26 usunięć
+30 -7
Wyświetl plik
@@ -88,7 +88,9 @@ if(DEFINED ENV{ROCM_LIBPATCH_VERSION})
endif()
## Install license file
install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION share/doc/${PROJECT_NAME})
install(FILES ${CPACK_RESOURCE_FILE_LICENSE}
DESTINATION share/doc/${PROJECT_NAME}
COMPONENT runtime)
## Debian package specific variables
if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE})
@@ -97,8 +99,12 @@ else()
set(CPACK_DEBIAN_PACKAGE_RELEASE "local")
endif()
message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}")
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "rocm-core")
set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}-dev")
set(CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "rocm-core")
set(CPACK_DEBIAN_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests")
set(CPACK_DEBIAN_TESTS_PACKAGE_DEPENDS "${PROJECT_NAME}-dev")
## RPM package specific variables
if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE})
@@ -120,17 +126,32 @@ message("RESULT_VARIABLE ${PROC_RESULT} OUTPUT_VARIABLE: ${EVAL_RESULT}")
if(PROC_RESULT EQUAL "0" AND NOT EVAL_RESULT STREQUAL "")
string(APPEND CPACK_RPM_PACKAGE_RELEASE "%{?dist}")
endif()
set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
set(CPACK_RPM_PACKAGE_REQUIRES "rocm-core")
set(CPACK_RPM_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}-dev")
set(CPACK_RPM_RUNTIME_PACKAGE_REQUIRES "rocm-core")
set(CPACK_RPM_TESTS_PACKAGE_NAME "${PROJECT_NAME}-tests")
set(CPACK_RPM_TESTS_PACKAGE_REQUIRES "${PROJECT_NAME}-dev")
message("CPACK_RPM_PACKAGE_RELEASE: ${CPACK_RPM_PACKAGE_RELEASE}")
if(NOT ROCM_DEP_ROCMCORE)
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_PACKAGE_REQUIRES ${CPACK_RPM_PACKAGE_REQUIRES})
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS})
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_RUNTIME_PACKAGE_REQUIRES ${CPACK_RPM_RUNTIME_PACKAGE_REQUIRES})
string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS ${CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS})
endif()
set(CPACK_COMPONENTS_ALL runtime tests)
include(CPack)
cpack_add_component(runtime
DISPLAY_NAME "Runtime"
DESCRIPTION "Dynamic libraries for the ROCtracer")
cpack_add_component(tests
DISPLAY_NAME "Tests"
DESCRIPTION "Tests for the ROCtracer"
DEPENDS runtime)
endif()
find_package(Doxygen)
@@ -157,10 +178,12 @@ if(DOXYGEN_FOUND)
"${CMAKE_CURRENT_BINARY_DIR}/doc/latex/refman.pdf"
DESTINATION share/doc/${PROJECT_NAME}
RENAME "roctracer.pdf"
OPTIONAL)
OPTIONAL
COMPONENT runtime)
install(DIRECTORY
"${CMAKE_CURRENT_BINARY_DIR}/doc/html/"
DESTINATION share/html/${PROJECT_NAME}
OPTIONAL)
OPTIONAL
COMPONENT runtime)
endif()
+2 -2
Wyświetl plik
@@ -109,8 +109,8 @@ endfunction()
#Use template header file and generater wrapper header files
generate_wrapper_header()
install(DIRECTORY ${ROCT_WRAPPER_INC_DIR} DESTINATION ${PROJECT_NAME})
install(DIRECTORY ${ROCT_WRAPPER_INC_DIR} DESTINATION ${PROJECT_NAME} COMPONENT runtime)
create_library_symlink()
install(DIRECTORY ${ROCT_WRAPPER_LIB_DIR} DESTINATION ${PROJECT_NAME})
install(DIRECTORY ${ROCT_WRAPPER_LIB_DIR} DESTINATION ${PROJECT_NAME} COMPONENT runtime)
#install soft link to tool
#install(DIRECTORY ${ROCT_WRAPPER_TOOL_DIR} DESTINATION ${PROJECT_NAME})
Regular → Executable
+2
Wyświetl plik
@@ -1,3 +1,5 @@
#!/usr/bin/env python3
################################################################################
# Copyright (c) 2018-2022 Advanced Micro Devices, Inc.
#
+2
Wyświetl plik
@@ -1,3 +1,5 @@
#!/usr/bin/env python3
################################################################################
# Copyright (c) 2018-2022 Advanced Micro Devices, Inc.
#
+2
Wyświetl plik
@@ -1,3 +1,5 @@
#!/usr/bin/env python3
################################################################################
# Copyright (c) 2018-2022 Advanced Micro Devices, Inc.
#
+14 -6
Wyświetl plik
@@ -104,7 +104,9 @@ set(PUBLIC_HEADERS
foreach(header ${PUBLIC_HEADERS})
get_filename_component(header_subdir ${header} DIRECTORY)
install(FILES ${PROJECT_SOURCE_DIR}/inc/${header} DESTINATION include/${PROJECT_NAME}/${header_subdir})
install(FILES ${PROJECT_SOURCE_DIR}/inc/${header}
DESTINATION include/${PROJECT_NAME}/${header_subdir}
COMPONENT runtime)
endforeach()
set(GENERATED_HEADERS
@@ -113,7 +115,9 @@ set(GENERATED_HEADERS
hsa_ostream_ops.h)
foreach(header ${GENERATED_HEADERS})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${header} DESTINATION include/${PROJECT_NAME})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${header}
DESTINATION include/${PROJECT_NAME}
COMPONENT runtime)
endforeach()
## Build the ROCtracer library
@@ -143,7 +147,9 @@ target_include_directories(roctracer
target_link_options(roctracer PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/roctracer/exportmap -Wl,--no-undefined)
target_link_libraries(roctracer PRIVATE hsa-runtime64::hsa-runtime64 Threads::Threads dl)
install(TARGETS roctracer LIBRARY DESTINATION lib)
install(TARGETS roctracer LIBRARY
DESTINATION lib
COMPONENT runtime)
## Build the ROCTX library
file(GLOB ROCTX_SOURCES "roctx/*.cpp")
@@ -163,7 +169,9 @@ target_include_directories(roctx
target_link_options(roctx PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/roctx/exportmap -Wl,--no-undefined)
install(TARGETS roctx LIBRARY DESTINATION lib)
install(TARGETS roctx LIBRARY
DESTINATION lib
COMPONENT runtime)
## Build the tracer_tool library
if (${LIBRARY_TYPE} STREQUAL SHARED)
@@ -186,12 +194,12 @@ target_include_directories(roctracer_tool
target_link_libraries(roctracer_tool roctracer hsa-runtime64::hsa-runtime64 Threads::Threads atomic dl)
target_link_options(roctracer_tool PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/tracer_tool/exportmap -Wl,--no-undefined)
install(TARGETS roctracer_tool LIBRARY DESTINATION lib/${PROJECT_NAME})
install(TARGETS roctracer_tool LIBRARY DESTINATION lib/${PROJECT_NAME} COMPONENT runtime)
add_library(hip_stats SHARED hip_stats/hip_stats.cpp)
target_compile_definitions(hip_stats PRIVATE __HIP_PLATFORM_AMD__)
target_link_libraries(hip_stats roctracer stdc++fs)
install(TARGETS hip_stats LIBRARY DESTINATION lib/${PROJECT_NAME})
install(TARGETS hip_stats LIBRARY DESTINATION lib/${PROJECT_NAME} COMPONENT runtime)
endif()
+27 -11
Wyświetl plik
@@ -40,7 +40,7 @@ add_custom_target(check COMMAND ${PROJECT_BINARY_DIR}/run.sh DEPENDS mytest)
## Build MatrixTranspose
set_source_files_properties(hip/MatrixTranspose.cpp PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1)
hip_add_executable(MatrixTranspose EXCLUDE_FROM_ALL hip/MatrixTranspose.cpp)
hip_add_executable(MatrixTranspose hip/MatrixTranspose.cpp)
target_include_directories(MatrixTranspose PRIVATE ${PROJECT_SOURCE_DIR}/inc)
target_link_libraries(MatrixTranspose PRIVATE roctracer roctx)
add_dependencies(mytest MatrixTranspose)
@@ -48,7 +48,7 @@ add_dependencies(mytest MatrixTranspose)
## Build MatrixTranspose_test, MatrixTranspose_hipaact_test and MatrixTranspose_mgpu
set_source_files_properties(app/MatrixTranspose_test.cpp PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1)
function(build_matrix_transpose_test OUTPUT_FILE DEFINITIONS)
hip_add_executable(${OUTPUT_FILE} EXCLUDE_FROM_ALL app/MatrixTranspose_test.cpp)
hip_add_executable(${OUTPUT_FILE} app/MatrixTranspose_test.cpp)
target_compile_definitions(${OUTPUT_FILE} PRIVATE ITERATIONS=100 HIP_TEST=1 ${DEFINITIONS})
target_include_directories(${OUTPUT_FILE} PRIVATE ${PROJECT_SOURCE_DIR}/inc)
target_link_libraries(${OUTPUT_FILE} PRIVATE roctracer roctx)
@@ -62,20 +62,20 @@ build_matrix_transpose_test(MatrixTranspose_mgpu MGPU_TEST=1)
## Build MatrixTranspose MatrixTranspose_ctest
add_custom_command(OUTPUT MatrixTranspose.c
COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/app/MatrixTranspose_test.cpp MatrixTranspose.c)
hip_add_executable(MatrixTranspose_ctest EXCLUDE_FROM_ALL MatrixTranspose.c)
hip_add_executable(MatrixTranspose_ctest MatrixTranspose.c)
target_compile_definitions(MatrixTranspose_ctest PRIVATE HIP_TEST=0 __HIP_PLATFORM_HCC__)
target_include_directories(MatrixTranspose_ctest PRIVATE ${PROJECT_SOURCE_DIR}/inc)
target_link_libraries(MatrixTranspose_ctest PRIVATE roctracer roctx)
add_dependencies(mytest MatrixTranspose_ctest)
## Build hsaco_test reference test
add_library(hsaco_test SHARED EXCLUDE_FROM_ALL app/hsaco_test.cpp)
add_library(hsaco_test SHARED app/hsaco_test.cpp)
target_compile_definitions(hsaco_test PRIVATE AMD_INTERNAL_BUILD)
target_link_libraries(hsaco_test hsa-runtime64::hsa-runtime64)
add_dependencies(mytest hsaco_test)
## Build codeobj event test
add_library(codeobj_test SHARED EXCLUDE_FROM_ALL app/codeobj_test.cpp)
add_library(codeobj_test SHARED app/codeobj_test.cpp)
target_include_directories(codeobj_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/inc)
target_link_libraries(codeobj_test roctracer)
add_dependencies(mytest codeobj_test)
@@ -91,6 +91,7 @@ function(generate_hsaco TARGET_ID INPUT_FILE OUTPUT_FILE)
DEPENDS ${INPUT_FILE} clang
COMMENT "Building ${OUTPUT_FILE}..."
VERBATIM)
install(FILES ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} DESTINATION test/${PROJECT_NAME} COMPONENT tests)
set(HSACO_TARGET_LIST ${HSACO_TARGET_LIST} ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} PARENT_SCOPE)
endfunction(generate_hsaco)
@@ -100,34 +101,34 @@ foreach(target_id ${GPU_TARGETS})
endforeach(target_id)
add_custom_target(hsaco_targets DEPENDS ${HSACO_TARGET_LIST})
add_executable(copy EXCLUDE_FROM_ALL hsa/copy.cpp)
add_executable(copy hsa/copy.cpp)
target_link_libraries(copy hsa-runtime64::hsa-runtime64 Threads::Threads dl)
add_dependencies(copy hsaco_targets)
add_dependencies(mytest copy)
## Build the ROCTX test
set_source_files_properties(app/roctx_test.cpp PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1)
hip_add_executable(roctx_test EXCLUDE_FROM_ALL app/roctx_test.cpp)
hip_add_executable(roctx_test app/roctx_test.cpp)
target_link_libraries(roctx_test Threads::Threads roctx)
add_dependencies(mytest roctx_test)
## Build the backward compatibility test
add_executable(backward_compat_test EXCLUDE_FROM_ALL app/backward_compat_test.cpp)
add_executable(backward_compat_test app/backward_compat_test.cpp)
target_link_libraries(backward_compat_test roctracer)
add_dependencies(mytest backward_compat_test)
add_executable(load_unload_reload_test EXCLUDE_FROM_ALL hsa/load_unload_reload.cpp)
add_executable(load_unload_reload_test hsa/load_unload_reload.cpp)
target_link_libraries(load_unload_reload_test hsa-runtime64::hsa-runtime64)
add_dependencies(mytest load_unload_reload_test)
## Build the trace_buffer test
add_executable(trace_buffer EXCLUDE_FROM_ALL directed/trace_buffer.cpp)
add_executable(trace_buffer directed/trace_buffer.cpp)
target_include_directories(trace_buffer PRIVATE ${PROJECT_SOURCE_DIR}/src/tracer_tool)
target_link_libraries(trace_buffer Threads::Threads atomic)
add_dependencies(mytest trace_buffer)
## Build the memory_pool test
add_executable(memory_pool EXCLUDE_FROM_ALL directed/memory_pool.cpp)
add_executable(memory_pool directed/memory_pool.cpp)
target_include_directories(memory_pool PRIVATE ${PROJECT_SOURCE_DIR}/src/roctracer ${PROJECT_SOURCE_DIR}/inc)
target_link_libraries(memory_pool Threads::Threads atomic)
add_dependencies(mytest memory_pool)
@@ -135,9 +136,24 @@ add_dependencies(mytest memory_pool)
## Copy the golden traces and test scripts
configure_file(run.sh ${PROJECT_BINARY_DIR} COPYONLY)
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink run.sh ${PROJECT_BINARY_DIR}/run_ci.sh)
install(PROGRAMS ${PROJECT_BINARY_DIR}/run.sh DESTINATION test/${PROJECT_NAME} COMPONENT tests)
configure_file(${PROJECT_SOURCE_DIR}/script/check_trace.py ${PROJECT_BINARY_DIR}/test/check_trace.py COPYONLY)
install(PROGRAMS ${PROJECT_BINARY_DIR}/test/check_trace.py DESTINATION test/${PROJECT_NAME}/test COMPONENT tests)
file(GLOB files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "golden_traces/tests_trace_cmp_levels.txt" "golden_traces/*_trace.txt")
foreach(file ${files})
configure_file(${file} ${PROJECT_BINARY_DIR}/test/${file} COPYONLY)
endforeach()
install(DIRECTORY ${PROJECT_BINARY_DIR}/test/golden_traces DESTINATION test/${PROJECT_NAME}/test COMPONENT tests)
# install all executables
set(all_executables)
get_property(all_targets DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY BUILDSYSTEM_TARGETS)
foreach(target IN LISTS all_targets)
get_target_property(target_type ${target} TYPE)
if (target_type STREQUAL "EXECUTABLE")
list(APPEND all_executables ${target})
endif()
endforeach()
install(TARGETS ${all_executables} DESTINATION test/${PROJECT_NAME}/test COMPONENT tests)