diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index da09ad4f5c..5d3cde0064 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -118,6 +118,7 @@ endif () find_library ( HSA_KMT_LIB "libhsakmt.so" ) get_filename_component ( HSA_KMT_LIB_PATH ${HSA_KMT_LIB} DIRECTORY ) set ( HSA_KMT_INC_PATH "${HSA_KMT_LIB_PATH}/../include" ) +set ( ROCM_INC_PATH ${HSA_KMT_INC_PATH} ) ## Basic Tool Chain Information message ( "----------------NBIT: ${NBIT}" ) diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h index c01253e79f..8531ab51dc 100644 --- a/inc/roctracer_hsa.h +++ b/inc/roctracer_hsa.h @@ -22,16 +22,16 @@ THE SOFTWARE. #ifndef INC_ROCTRACER_HSA_H_ #define INC_ROCTRACER_HSA_H_ -#include -#include #include -#include #include -#include "cb_table.h" #include "roctracer.h" +#ifdef __cplusplus +#include +#include + namespace roctracer { namespace hsa_support { enum { @@ -129,6 +129,10 @@ struct output_streamer { inline static std::ostream& put(std::ostream& out, hsa_queue_t** v) { out << ""; return out; } }; };}; +#else // !__cplusplus +typedef void* hsa_amd_queue_intercept_handler; +typedef void* hsa_amd_runtime_queue_notifier; +#endif //! __cplusplus #include "inc/hsa_prof_str.h" #endif // INC_ROCTRACER_HSA_H_ diff --git a/script/hsaap.py b/script/hsaap.py index e9a7b0463f..1e413a5295 100755 --- a/script/hsaap.py +++ b/script/hsaap.py @@ -440,6 +440,7 @@ class API_DescrParser: # generate stream operator def gen_out_stream(self, n, name, call, struct): if n == -1: + self.content += '#ifdef __cplusplus\n' self.content += 'typedef std::pair hsa_api_data_pair_t;\n' self.content += 'inline std::ostream& operator<< (std::ostream& out, const hsa_api_data_pair_t& data_pair) {\n' self.content += ' const uint32_t cid = data_pair.first;\n' @@ -483,6 +484,7 @@ class API_DescrParser: self.content += ' }\n' self.content += ' return out;\n' self.content += '}\n' + self.content += '#endif\n' ############################################################# # main diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 05593efedd..38750ba5a9 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -30,14 +30,15 @@ set ( HSA_TEST_DIR "${TEST_DIR}/hsa/test" ) set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests +set ( TEST_CFLAGS HIP_VDI=${HIP_VDI} ROCM_INC_PATH=${ROCM_INC_PATH} ) add_custom_target( mytest COMMAND make -C "${TEST_DIR}/MatrixTranspose" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose/MatrixTranspose ${PROJECT_BINARY_DIR}/test" - COMMAND HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_test" - COMMAND MGPU_TEST=1 HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND MGPU_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_mgpu" - COMMAND C_TEST=1 HIP_VDI=${HIP_VDI} make -C "${TEST_DIR}/MatrixTranspose_test" + COMMAND C_TEST=1 ${TEST_CFLAGS} make -C "${TEST_DIR}/MatrixTranspose_test" COMMAND sh -xc "cp ${TEST_DIR}/MatrixTranspose_test/MatrixTranspose ${PROJECT_BINARY_DIR}/test/MatrixTranspose_ctest" ) diff --git a/test/MatrixTranspose_test/Makefile b/test/MatrixTranspose_test/Makefile index dc5c42aa65..04780535ee 100644 --- a/test/MatrixTranspose_test/Makefile +++ b/test/MatrixTranspose_test/Makefile @@ -1,7 +1,7 @@ ROOT_PATH = ../.. LIB_PATH = $(ROOT_PATH)/build ROC_LIBS = -Wl,--rpath,${LIB_PATH} $(LIB_PATH)/libroctracer64.so $(LIB_PATH)/libroctx64.so -HSA_KMT_INC_PATH ?= /opt/rocm/include +ROCM_INC_PATH ?= /opt/rocm/include HIP_VDI ?= 0 ITERATIONS ?= 100 @@ -15,7 +15,7 @@ TARGET=hcc EXECUTABLE=./MatrixTranspose OBJECTS = MatrixTranspose.o -FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${HSA_KMT_INC_PATH} -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) +FLAGS =-g -I$(ROOT_PATH) -I$(ROOT_PATH)/inc -I${ROCM_INC_PATH}/hsa -I${ROCM_INC_PATH} -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 ifeq ($(C_TEST), 1) COMP=gcc diff --git a/test/MatrixTranspose_test/MatrixTranspose.cpp b/test/MatrixTranspose_test/MatrixTranspose.cpp index c1189e9387..cc261f4312 100644 --- a/test/MatrixTranspose_test/MatrixTranspose.cpp +++ b/test/MatrixTranspose_test/MatrixTranspose.cpp @@ -203,6 +203,7 @@ int main() { #if 1 #include #include +#include #include #include