From a547e615e330424297dbd7efeaa425dfa9dec4f2 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 7 Sep 2020 13:50:10 -0500 Subject: [PATCH] build normalizing - generating under build directory Change-Id: Id9203aec7800024bd749059a415fb29b8051005a [ROCm/roctracer commit: ed1f1b66ac772d12c958e4df76c5a04084a86de5] --- projects/roctracer/CMakeLists.txt | 11 +++- projects/roctracer/build.sh | 2 +- projects/roctracer/script/hsaap.py | 6 +- projects/roctracer/script/kfdap.py | 60 +++++++++---------- projects/roctracer/src/CMakeLists.txt | 41 ++++++------- projects/roctracer/src/kfd/.gitignore | 1 - projects/roctracer/test/CMakeLists.txt | 3 +- .../roctracer/test/MatrixTranspose/Makefile | 2 +- .../test/MatrixTranspose_test/Makefile | 2 +- projects/roctracer/test/run.sh | 2 +- 10 files changed, 69 insertions(+), 61 deletions(-) delete mode 100644 projects/roctracer/src/kfd/.gitignore diff --git a/projects/roctracer/CMakeLists.txt b/projects/roctracer/CMakeLists.txt index f1ad1982cc..97c06cf9dd 100644 --- a/projects/roctracer/CMakeLists.txt +++ b/projects/roctracer/CMakeLists.txt @@ -100,12 +100,14 @@ set ( PUBLIC_HEADERS roctracer_kfd.h roctracer_roctx.h roctracer_cb_table.h + ext/prof_protocol.h + ext/hsa_rt_utils.hpp +) +set ( GEN_HEADERS hip_ostream_ops.h hsa_prof_str.h kfd_ostream_ops.h kfd_prof_str.h - ext/prof_protocol.h - ext/hsa_rt_utils.hpp ) if ( ${LIBRARY_TYPE} STREQUAL SHARED ) @@ -137,6 +139,11 @@ foreach ( header ${PUBLIC_HEADERS} ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION ${DEST_NAME}/include/${header_subdir} ) install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/${header} DESTINATION include/${DEST_NAME}/${header_subdir} ) endforeach () +foreach ( header ${GEN_HEADERS} ) + get_filename_component ( header_subdir ${header} DIRECTORY ) + install ( FILES ${PROJECT_BINARY_DIR}/inc/${header} DESTINATION ${DEST_NAME}/include/${header_subdir} ) + install ( FILES ${PROJECT_BINARY_DIR}/inc/${header} DESTINATION include/${DEST_NAME}/${header_subdir} ) +endforeach () #install ( FILES ${PROJECT_BINARY_DIR}/inc-link DESTINATION include RENAME ${DEST_NAME} ) install ( FILES ${PROJECT_BINARY_DIR}/so-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so ) install ( FILES ${PROJECT_BINARY_DIR}/so-major-link DESTINATION lib RENAME ${ROCTRACER_LIBRARY}.so.${LIB_VERSION_MAJOR} ) diff --git a/projects/roctracer/build.sh b/projects/roctracer/build.sh index a8515b69d4..cae5a59a28 100755 --- a/projects/roctracer/build.sh +++ b/projects/roctracer/build.sh @@ -1,4 +1,4 @@ -#!/bin/bash -x +#!/bin/bash -e SRC_DIR=`dirname $0` COMPONENT="roctracer" ROCM_PATH="${ROCM_PATH:=/opt/rocm}" diff --git a/projects/roctracer/script/hsaap.py b/projects/roctracer/script/hsaap.py index a50b3d4d1e..84ee9bbfb4 100755 --- a/projects/roctracer/script/hsaap.py +++ b/projects/roctracer/script/hsaap.py @@ -490,15 +490,15 @@ class API_DescrParser: # main # Usage if len(sys.argv) != 3: - print ("Usage:", sys.argv[0], " ", file=sys.stderr) + print ("Usage:", sys.argv[0], " ", file=sys.stderr) sys.exit(1) else: - ROOT = sys.argv[1] + '/' + PREFIX = sys.argv[1] + '/' HSA_DIR = sys.argv[2] + '/' descr = API_DescrParser(OUT, HSA_DIR, API_TABLES_H, API_HEADERS_H, LICENSE) -out_file = ROOT + OUT +out_file = PREFIX + OUT print ('Generating "' + out_file + '"') f = open(out_file, 'w') f.write(descr.content[:-1]) diff --git a/projects/roctracer/script/kfdap.py b/projects/roctracer/script/kfdap.py index e920bbf6d9..9f560a35d7 100755 --- a/projects/roctracer/script/kfdap.py +++ b/projects/roctracer/script/kfdap.py @@ -2,10 +2,10 @@ from __future__ import print_function import os, sys, re -OUT_H = 'inc/kfd_prof_str.h' -OUT_CPP = 'src/kfd/kfd_wrapper.cpp' -API_HEADERS_H = ( - ('HSAKMTAPI', 'hsakmt.h'), +OUT_H = 'inc/kfd_prof_str.h' +OUT_CPP = 'src/kfd_wrapper.cpp' +API_HEADERS_H = ( + ('HSAKMTAPI', 'hsakmt.h'), ) LICENSE = \ @@ -38,7 +38,7 @@ def fatal(module, msg): sys.exit(1) # Get next text block -def NextBlock(pos, record): +def NextBlock(pos, record): if len(record) == 0: return pos space_pattern = re.compile(r'(\s+)') @@ -82,8 +82,8 @@ class API_TableParser: self.inp = open(header, 'r') - self.beg_pattern = re.compile(name) - self.end_pattern = re.compile('.*\)\s*;\s*$'); + self.beg_pattern = re.compile(name) + self.end_pattern = re.compile('.*\)\s*;\s*$'); self.array = [] self.parse() @@ -92,10 +92,10 @@ class API_TableParser: return re.sub(r'^\s+', r' ', line) def fix_comment_line(self, line): - return re.sub(r'\/\/.*', r'', line) + return re.sub(r'\/\/.*', r'', line) def remove_ret_line(self, line): - return re.sub(r'\n', r'', line) + return re.sub(r'\n', r'', line) # check for start record def is_start(self, record): @@ -107,7 +107,7 @@ class API_TableParser: # check for declaration entry record def is_entry(self, record): - return re.match(r'^\s*HSAKMTAPI\s*(.*)\s*\((.*)\)', record) + return re.match(r'^\s*HSAKMTAPI\s*(.*)\s*\((.*)\)', record) # parse method def parse(self): @@ -121,7 +121,7 @@ class API_TableParser: line = self.norm_line(line) line = self.fix_comment_line(line) - if cumulate == 1: record += " " + line; + if cumulate == 1: record += " " + line; else: record = line; if self.is_start(line): rettype = prev_line.strip(); cumulate = 1; prev_line = line; continue; if self.is_end(line): record = self.remove_ret_line(record); cumulate = 0; active = 1; @@ -132,7 +132,7 @@ class API_TableParser: mycall_full = rettype + " " + m.group(1) + ' (' + m.group(2) + ')' mycall = m.group(1) self.full_fct[mycall] = mycall_full - self.array.append(mycall) + self.array.append(mycall) rettype = ""; prev_line = line @@ -173,7 +173,7 @@ class API_DeclParser: struct = {'ret': '', 'args': '', 'astr': {}, 'alst': [], 'tlst': []} record = re.sub(r'^\s+', r'', record) record = re.sub(r'\s*(\*+)\s*', r'\1 ', record) - rind = NextBlock(0, record) + rind = NextBlock(0, record) struct['ret'] = record[0:rind] pos = record.find('(') end = NextBlock(pos, record); @@ -184,7 +184,7 @@ class API_DeclParser: struct['args'] = re.sub(r',', r', ', args) if args == "void": return struct - + if len(args) == 0: return struct pos = 0 @@ -217,7 +217,7 @@ class API_DeclParser: # parse given api def parse(self, call, full_fct): - if call in full_fct: + if call in full_fct: self.data[call] = self.get_args(full_fct[call]) else: self.data[call] = self.get_args(call) @@ -238,7 +238,7 @@ class API_DescrParser: self.api_calls = {} self.api_rettypes = set() self.api_id = {} - + api_data = {} full_fct = {} api_list = [] @@ -271,7 +271,7 @@ class API_DescrParser: self.ns_calls = ns_calls self.content_h += "// automatically generated\n\n" + license + '\n' - + self.content_h += "/////////////////////////////////////////////////////////////////////////////\n" for call in self.ns_calls: self.content_h += '// ' + call + ' was not parsed\n' @@ -298,7 +298,7 @@ class API_DescrParser: self.content_h += 'namespace kfd_support {\n' self.add_section('API get_name function', ' ', self.gen_get_name) - self.add_section('API get_code function', ' ', self.gen_get_code) + self.add_section('API get_code function', ' ', self.gen_get_code) self.add_section('API intercepting code', '', self.gen_intercept_decl) self.add_section('API intercepting code', '', self.gen_intercept) @@ -369,7 +369,7 @@ class API_DescrParser: self.content_h += ' KFD_API_ID_NUMBER = ' + str(n) + ',\n' self.content_h += ' KFD_API_ID_ANY = ' + str(n + 1) + ',\n' self.content_h += '};\n' - + # generate API args structure def gen_arg_struct(self, n, name, call, struct): if n == -1: @@ -396,7 +396,7 @@ class API_DescrParser: else: self.content_h += ' } args;\n' self.content_h += '} kfd_api_data_t;\n' - + # generate API callbacks def gen_callbacks(self, n, name, call, struct): if n == -1: @@ -406,7 +406,7 @@ class API_DescrParser: if call != '-': call_id = self.api_id[call]; ret_type = struct['ret'] - self.content_h += ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' # 'static ' + + self.content_h += ret_type + ' ' + call + '_callback(' + struct['args'] + ') {\n' # 'static ' + self.content_h += ' if (' + name + '_table == NULL) intercept_KFDApiTable();\n' self.content_h += ' kfd_api_data_t api_data{};\n' for var in struct['alst']: @@ -448,7 +448,7 @@ class API_DescrParser: if call != '-': self.content_h += ' typedef decltype(' + name + '_table_t::' + call + '_fn) ' + call + '_t;\n' - self.content_h += ' ' + name + '_table->' + call + '_fn = (' + call + '_t)' + 'dlsym(RTLD_NEXT,\"' + call + '\");\n' + self.content_h += ' ' + name + '_table->' + call + '_fn = (' + call + '_t)' + 'dlsym(RTLD_NEXT,\"' + call + '\");\n' # generate API name function def gen_get_name(self, n, name, call, struct): @@ -493,7 +493,7 @@ class API_DescrParser: arg_var = arg_list[ind] arg_val = 'api_data.args.' + call + '.' + arg_var if re.search(r'MemFlags',arg_var): - continue + continue self.content_h += ' typedef decltype(' + arg_val.replace("[]","") + ') arg_val_type_t' + str(ind) + ';\n' self.content_h += ' roctracer::kfd_support::output_streamer::put(out, ' + arg_val.replace("[]","") + ')' if ind < len(arg_list)-1: self.content_h += ' << ", ";\n' @@ -510,11 +510,11 @@ class API_DescrParser: self.content_h += ' abort();\n' self.content_h += ' }\n' self.content_h += ' return out;\n' - self.content_h += '}\n' + self.content_h += '}\n' self.content_h += '#endif\n' - self.content_cpp += 'inline std::ostream& operator<< (std::ostream& out, const HsaMemFlags& v) { out << "HsaMemFlags"; return out; }\n' + self.content_cpp += 'inline std::ostream& operator<< (std::ostream& out, const HsaMemFlags& v) { out << "HsaMemFlags"; return out; }\n' - # generate PUBLIC_API for all API fcts + # generate PUBLIC_API for all API fcts def gen_public_api(self, n, name, call, struct): if n == -1: self.content_cpp += 'extern "C" {\n' @@ -540,21 +540,21 @@ class API_DescrParser: # main # Usage if len(sys.argv) != 3: - print ("Usage:", sys.argv[0], " ", file = sys.stderr) + print ("Usage:", sys.argv[0], " ", file = sys.stderr) sys.exit(1) else: - ROOT = sys.argv[1] + '/' + PREFIX = sys.argv[1] + '/' KFD_DIR = sys.argv[2] + '/' descr = API_DescrParser(OUT_H, KFD_DIR, API_HEADERS_H, LICENSE) -out_file = ROOT + OUT_H +out_file = PREFIX + OUT_H print ('Generating "' + out_file + '"') f = open(out_file, 'w') f.write(descr.content_h[:-1]) f.close() -out_file = ROOT + OUT_CPP +out_file = PREFIX + OUT_CPP print ('Generating "' + out_file + '"') f = open(out_file, 'w') f.write(descr.content_cpp[:-1]) diff --git a/projects/roctracer/src/CMakeLists.txt b/projects/roctracer/src/CMakeLists.txt index ceb33c7497..c794c49177 100644 --- a/projects/roctracer/src/CMakeLists.txt +++ b/projects/roctracer/src/CMakeLists.txt @@ -1,7 +1,19 @@ -# +# Generating tracing primitives +set ( GEN_INC_DIR ${PROJECT_BINARY_DIR}/inc ) +set ( GEN_SRC_DIR ${PROJECT_BINARY_DIR}/src ) +execute_process ( COMMAND sh -xc "mkdir -p ${GEN_INC_DIR}" ) +execute_process ( COMMAND sh -xc "mkdir -p ${GEN_SRC_DIR}" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${PROJECT_BINARY_DIR} ${HSA_RUNTIME_INC_PATH}" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${PROJECT_BINARY_DIR} ${HSA_KMT_INC_PATH}" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${GEN_INC_DIR}/hsakmttypes_pp.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsakmttypes_pp.h -out ${GEN_INC_DIR}/kfd_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HIP_PATH}/include/hip/hip_runtime_api.h ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include > ${GEN_INC_DIR}/hip_runtime_api_pp.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hip_runtime_api_pp.h -out ${GEN_INC_DIR}/hip_ostream_ops.h" ) +execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${GEN_INC_DIR}/hsa_pp.h" ) +execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsa_pp.h -out ${GEN_INC_DIR}/hsa_ostream_ops.h" ) + # Build dynamic Library object -# -set ( TARGET_LIB "${TARGET_NAME}" ) +set ( TARGET_LIB ${TARGET_NAME} ) set ( LIB_SRC ${LIB_DIR}/core/roctracer.cpp ${LIB_DIR}/proxy/proxy_queue.cpp @@ -10,33 +22,22 @@ set ( LIB_SRC ${LIB_DIR}/util/hsa_rsrc_factory.cpp ) add_library ( ${TARGET_LIB} ${LIBRARY_TYPE} ${LIB_SRC} ) -target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) +target_include_directories ( ${TARGET_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ ) -# Generating HSA tracing primitives -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" ) - -# Generating KFD/Thunk tracing primitives +# Build KFD/Thunk tracing library set ( KFD_LIB "kfdwrapper64" ) -set ( KFD_LIB_SRC - ${LIB_DIR}/kfd/kfd_wrapper.cpp -) -execute_process ( COMMAND sh -xc "${CMAKE_CXX_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsakmttypes_pp.h -out ${ROOT_DIR}/inc/kfd_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include -E ${HIP_PATH}/include/hip/hip_runtime_api.h > ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hip_runtime_api_pp.h -out ${ROOT_DIR}/inc/hip_ostream_ops.h" ) -execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${PROJECT_BINARY_DIR}/hsa_pp.h" ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/gen_ostream_ops.py -in ${PROJECT_BINARY_DIR}/hsa_pp.h -out ${ROOT_DIR}/inc/hsa_ostream_ops.h" ) +set ( KFD_LIB_SRC ${GEN_SRC_DIR}/kfd_wrapper.cpp) add_library ( ${KFD_LIB} SHARED ${KFD_LIB_SRC} ) -target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ) +target_include_directories ( ${KFD_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HSA_KMT_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ ) -execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" ) +# Build ROCTX tracing library set ( ROCTX_LIB "roctx64" ) set ( ROCTX_LIB_SRC ${LIB_DIR}/roctx/roctx.cpp ${LIB_DIR}/roctx/roctx_intercept.cpp ) add_library ( ${ROCTX_LIB} SHARED ${ROCTX_LIB_SRC} ) -target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ) +target_include_directories ( ${ROCTX_LIB} PRIVATE ${LIB_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${GEN_INC_DIR} ) target_link_libraries( ${ROCTX_LIB} PRIVATE c stdc++ ) diff --git a/projects/roctracer/src/kfd/.gitignore b/projects/roctracer/src/kfd/.gitignore deleted file mode 100644 index 0c2acea703..0000000000 --- a/projects/roctracer/src/kfd/.gitignore +++ /dev/null @@ -1 +0,0 @@ -kfd_wrapper.cpp diff --git a/projects/roctracer/test/CMakeLists.txt b/projects/roctracer/test/CMakeLists.txt index 6a6d7d17d9..c1b56c0cda 100644 --- a/projects/roctracer/test/CMakeLists.txt +++ b/projects/roctracer/test/CMakeLists.txt @@ -50,6 +50,7 @@ set ( HSA_REV "a657002" ) set ( RUN_SCRIPT "${TEST_DIR}/run.sh" ) ## build HIP tests +set ( INC_PATH "${INC_PATH} ${PROJECT_BINARY_DIR}/inc" ) set ( TEST_ENV HIP_VDI=${HIP_VDI} ROCM_PATH=${ROCM_ROOT_DIR} HSA_PATH=${ROCM_ROOT_DIR}/hsa INC_PATH=${INC_PATH} LIB_PATH=${LIB_PATH} HIPCC_VERBOSE=3 ) add_custom_target( mytest COMMAND ${TEST_ENV} make -C "${TEST_DIR}/MatrixTranspose" @@ -75,7 +76,7 @@ if ( DEFINED ROCTRACER_TARGET ) set ( TEST_LIB "tracer_tool" ) set ( TEST_LIB_SRC ${TEST_DIR}/tool/tracer_tool.cpp ${UTIL_SRC} ) add_library ( ${TEST_LIB} SHARED ${TEST_LIB_SRC} ) - target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ) + target_include_directories ( ${TEST_LIB} PRIVATE ${HSA_TEST_DIR} ${ROOT_DIR} ${ROOT_DIR}/inc ${HSA_RUNTIME_INC_PATH} ${HSA_RUNTIME_HSA_INC_PATH} ${HIP_INC_DIR} ${HCC_INC_DIR} ${HSA_KMT_INC_PATH} ${PROJECT_BINARY_DIR}/inc ) target_link_libraries ( ${TEST_LIB} ${ROCTRACER_TARGET} ${HSA_RUNTIME_LIB} c stdc++ dl pthread rt ) endif () diff --git a/projects/roctracer/test/MatrixTranspose/Makefile b/projects/roctracer/test/MatrixTranspose/Makefile index 647067dd47..9a805fb194 100644 --- a/projects/roctracer/test/MatrixTranspose/Makefile +++ b/projects/roctracer/test/MatrixTranspose/Makefile @@ -23,7 +23,7 @@ EXECUTABLE=./MatrixTranspose all: clean $(EXECUTABLE) -CXXFLAGS =-g -I$(INC_PATH) -DLOCAL_BUILD=1 --rocm-path=$(ROCM_PATH) +CXXFLAGS =-g $(INC_PATH:%=-I%) -DLOCAL_BUILD=1 --rocm-path=$(ROCM_PATH) CXX=$(HIPCC) $(EXECUTABLE): $(OBJECTS) diff --git a/projects/roctracer/test/MatrixTranspose_test/Makefile b/projects/roctracer/test/MatrixTranspose_test/Makefile index 3e879ee858..758f8d9431 100644 --- a/projects/roctracer/test/MatrixTranspose_test/Makefile +++ b/projects/roctracer/test/MatrixTranspose_test/Makefile @@ -17,7 +17,7 @@ TARGET=hcc EXECUTABLE=./MatrixTranspose OBJECTS = MatrixTranspose.o -FLAGS =-g -I$(INC_PATH) -I$(ROCM_PATH)/hsa/include/hsa -I$(ROCM_PATH)/hsa/include -I$(ROCM_PATH)/hip/include -I$(ROCM_PATH)/include -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 +FLAGS =-g $(INC_PATH:%=-I%) -I$(ROCM_PATH)/hsa/include/hsa -I$(ROCM_PATH)/hsa/include -I$(ROCM_PATH)/hip/include -I$(ROCM_PATH)/include -DLOCAL_BUILD=1 -DHIP_VDI=${HIP_VDI} -DITERATIONS=$(ITERATIONS) -DAMD_INTERNAL_BUILD=1 ifeq ($(C_TEST), 1) COMP=${CC} diff --git a/projects/roctracer/test/run.sh b/projects/roctracer/test/run.sh index c5c8aa4596..c593106135 100755 --- a/projects/roctracer/test/run.sh +++ b/projects/roctracer/test/run.sh @@ -1,4 +1,4 @@ -#!/bin/sh -x +#!/bin/sh ################################################################################ # Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.