diff --git a/projects/roctracer/CMakeLists.txt b/projects/roctracer/CMakeLists.txt index 9550c5f5c2..f34cffe0cb 100644 --- a/projects/roctracer/CMakeLists.txt +++ b/projects/roctracer/CMakeLists.txt @@ -71,17 +71,28 @@ set_property ( TARGET ${TARGET_NAME} PROPERTY VERSION "${LIB_VERSION_STRING}" ) set_property ( TARGET ${TARGET_NAME} PROPERTY SOVERSION "${BUILD_VERSION_MAJOR}" ) ## If the library is a release, strip the target library -if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) - add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) -endif () +#if ( "${CMAKE_BUILD_TYPE}" STREQUAL release ) +# add_custom_command ( TARGET ${ROCTRACER_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} *.so ) +#endif () -message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME}" ) +## Install and packaging +set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME} ) set ( CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ) -install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION ${ROCTRACER_NAME}/lib ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION ${ROCTRACER_NAME}/include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hip.h DESTINATION ${ROCTRACER_NAME}/include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hcc.h DESTINATION ${ROCTRACER_NAME}/include ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer/prof_protocol.h DESTINATION ${ROCTRACER_NAME}/include/roctracer ) +message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}" ) + +add_custom_target ( inc-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/include inc-link ) +add_custom_target ( so-link ALL WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E create_symlink ../${ROCTRACER_NAME}/lib/${ROCTRACER_LIBRARY}.so so-link ) + +## Install information +install ( TARGETS ${ROCTRACER_TARGET} LIBRARY DESTINATION lib ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer.h DESTINATION include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hip.h DESTINATION include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/roctracer_hcc.h DESTINATION include ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/ext/prof_protocol.h DESTINATION include/ext ) +install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION ../include RENAME ${ROCTRACER_NAME} ) +install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION ../lib RENAME ${ROCTRACER_LIBRARY}.so ) ## Packaging directives set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) diff --git a/projects/roctracer/README.md b/projects/roctracer/README.md index 9c7d2eba5b..177c72d273 100644 --- a/projects/roctracer/README.md +++ b/projects/roctracer/README.md @@ -48,7 +48,7 @@ The library source tree: ln -s HIP/build HIP/lib - Build ROCtracer - cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm -DLOCAL_BUILD=1 .. && make -j + cd /roctracer && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/opt/rocm .. && make -j - To run test make mytest diff --git a/projects/roctracer/cmake_modules/env.cmake b/projects/roctracer/cmake_modules/env.cmake index a163245b74..d5a91eff7e 100644 --- a/projects/roctracer/cmake_modules/env.cmake +++ b/projects/roctracer/cmake_modules/env.cmake @@ -43,6 +43,13 @@ if ( DEFINED ENV{CMAKE_DEBUG_TRACE} ) add_definitions ( -DDEBUG_TRACE=1 ) endif() +## Enable HIP/HCC local build +if ( DEFINED LOCAL_BUILD ) + add_definitions ( -DLOCAL_BUILD=${LOCAL_BUILD} ) +else() + add_definitions ( -DLOCAL_BUILD=1 ) +endif() + ## Enable direct loading of AQL-profile HSA extension if ( DEFINED ENV{CMAKE_LD_AQLPROFILE} ) add_definitions ( -DROCP_LD_AQLPROFILE=1 ) diff --git a/projects/roctracer/inc/roctracer/hsa_rt_utils.hpp b/projects/roctracer/inc/ext/hsa_rt_utils.hpp similarity index 99% rename from projects/roctracer/inc/roctracer/hsa_rt_utils.hpp rename to projects/roctracer/inc/ext/hsa_rt_utils.hpp index 9cc96759c4..346e671077 100644 --- a/projects/roctracer/inc/roctracer/hsa_rt_utils.hpp +++ b/projects/roctracer/inc/ext/hsa_rt_utils.hpp @@ -45,7 +45,7 @@ class Timer { public: typedef uint64_t timestamp_t; typedef long double freq_t; - + Timer() { timestamp_t timestamp_hz = 0; HSART_CALL(hsa_system_get_info(HSA_SYSTEM_INFO_TIMESTAMP_FREQUENCY, ×tamp_hz)); diff --git a/projects/roctracer/inc/roctracer/prof_protocol.h b/projects/roctracer/inc/ext/prof_protocol.h similarity index 100% rename from projects/roctracer/inc/roctracer/prof_protocol.h rename to projects/roctracer/inc/ext/prof_protocol.h diff --git a/projects/roctracer/inc/roctracer.h b/projects/roctracer/inc/roctracer.h index 89911f2f01..483ce6c331 100644 --- a/projects/roctracer/inc/roctracer.h +++ b/projects/roctracer/inc/roctracer.h @@ -39,7 +39,7 @@ THE SOFTWARE. #include #include -#include "inc/roctracer/prof_protocol.h" +#include "ext/prof_protocol.h" #define ROCTRACER_VERSION_MAJOR 1 #define ROCTRACER_VERSION_MINOR 0 diff --git a/projects/roctracer/inc/roctracer_hcc.h b/projects/roctracer/inc/roctracer_hcc.h index 8cedebe498..f55586e351 100644 --- a/projects/roctracer/inc/roctracer_hcc.h +++ b/projects/roctracer/inc/roctracer_hcc.h @@ -23,8 +23,13 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HCC_H_ #define INC_ROCTRACER_HCC_H_ +#if (LOCAL_BUILD == 1) #include #include +#else +#include +#include +#endif #include "roctracer.h" diff --git a/projects/roctracer/inc/roctracer_hip.h b/projects/roctracer/inc/roctracer_hip.h index 988dc4a55e..d365dd9444 100644 --- a/projects/roctracer/inc/roctracer_hip.h +++ b/projects/roctracer/inc/roctracer_hip.h @@ -23,6 +23,7 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HIP_H_ #define INC_ROCTRACER_HIP_H_ +#include #include #include "roctracer.h" diff --git a/projects/roctracer/src/CMakeLists.txt b/projects/roctracer/src/CMakeLists.txt index ac992fc1d0..46dc131c27 100644 --- a/projects/roctracer/src/CMakeLists.txt +++ b/projects/roctracer/src/CMakeLists.txt @@ -7,5 +7,5 @@ set ( LIB_SRC ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} SHARED ${LIB_SRC} ) -target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ${HIP_INC_DIR}/../lib/libhip_hcc.so ) diff --git a/projects/roctracer/src/core/roctracer.cpp b/projects/roctracer/src/core/roctracer.cpp index 3186207eae..1f4c887ff2 100644 --- a/projects/roctracer/src/core/roctracer.cpp +++ b/projects/roctracer/src/core/roctracer.cpp @@ -22,7 +22,7 @@ THE SOFTWARE. #include "inc/roctracer.h" #include "inc/roctracer_hcc.h" -//#include "inc/roctracer_hip.h" +#include "inc/roctracer_hip.h" #include #include @@ -30,7 +30,7 @@ THE SOFTWARE. #include #include -#include "inc/roctracer/hsa_rt_utils.hpp" +#include "ext/hsa_rt_utils.hpp" #include "util/exception.h" #include "util/hsa_rsrc_factory.h" #include "util/logger.h" diff --git a/projects/roctracer/test/MatrixTranspose/Makefile b/projects/roctracer/test/MatrixTranspose/Makefile index 56780b1237..96f5aa9568 100644 --- a/projects/roctracer/test/MatrixTranspose/Makefile +++ b/projects/roctracer/test/MatrixTranspose/Makefile @@ -13,7 +13,7 @@ HIP_PATH ?= /opt/rocm/hip HIPCC = $(HIP_PATH)/bin/hipcc CXX=$(HIPCC) -CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DITERATIONS=$(ITERATIONS) +CXXFLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -DLOCAL_BUILD=1 -DITERATIONS=$(ITERATIONS) export LD_LIBRARY_PATH=$(LIB_PATH)