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
[ROCm/roctracer commit: 3adc56bd9b]
这个提交包含在:
@@ -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()
|
||||
|
||||
@@ -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})
|
||||
|
||||
普通文件 -> 可执行文件
+2
@@ -1,3 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
################################################################################
|
||||
# Copyright (c) 2018-2022 Advanced Micro Devices, Inc.
|
||||
#
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
################################################################################
|
||||
# Copyright (c) 2018-2022 Advanced Micro Devices, Inc.
|
||||
#
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
################################################################################
|
||||
# Copyright (c) 2018-2022 Advanced Micro Devices, Inc.
|
||||
#
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
在新工单中引用
屏蔽一个用户