normalizing C API: HSA domain

This commit is contained in:
Evgeny
2019-12-30 20:09:41 -06:00
parent 8280f47327
commit b82a21056e
6 ha cambiato i file con 18 aggiunte e 9 eliminazioni
+1
Vedi File
@@ -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}" )
+8 -4
Vedi File
@@ -22,16 +22,16 @@ THE SOFTWARE.
#ifndef INC_ROCTRACER_HSA_H_
#define INC_ROCTRACER_HSA_H_
#include <iostream>
#include <mutex>
#include <hsa.h>
#include <hsa_api_trace.h>
#include <hsa_ext_amd.h>
#include "cb_table.h"
#include "roctracer.h"
#ifdef __cplusplus
#include <iostream>
#include <hsa_api_trace.h>
namespace roctracer {
namespace hsa_support {
enum {
@@ -129,6 +129,10 @@ struct output_streamer<hsa_queue_t**> {
inline static std::ostream& put(std::ostream& out, hsa_queue_t** v) { out << "<queue " << *v << ">"; 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_
+2
Vedi File
@@ -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<uint32_t, hsa_api_data_t> 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
+4 -3
Vedi File
@@ -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"
)
+2 -2
Vedi File
@@ -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
@@ -203,6 +203,7 @@ int main() {
#if 1
#include <inc/roctracer_hip.h>
#include <inc/roctracer_hcc.h>
#include <inc/roctracer_hsa.h>
#include <inc/roctracer_kfd.h>
#include <inc/roctracer_roctx.h>