adding kfd wrapper library and generator; adding roctx code annotation library;
Этот коммит содержится в:
@@ -7,6 +7,8 @@
|
||||
b
|
||||
build
|
||||
inc/hsa_prof_str.h
|
||||
inc/kfd_prof_str.h
|
||||
src/kfd/kfd_wrapper.cpp
|
||||
test/hsa
|
||||
test/MatrixTranspose/MatrixTranspose
|
||||
test/MatrixTranspose_test/MatrixTranspose
|
||||
|
||||
@@ -102,6 +102,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" )
|
||||
|
||||
## Basic Tool Chain Information
|
||||
message ( "----------------NBIT: ${NBIT}" )
|
||||
@@ -113,5 +114,6 @@ message ( "-HSA-Runtime-HSA-Inc: ${HSA_RUNTIME_HSA_INC_PATH}" )
|
||||
message ( "-----HSA-Runtime-Lib: ${HSA_RUNTIME_LIB_PATH}" )
|
||||
message ( "-------------HCC-Inc: ${HCC_INC_DIR}" )
|
||||
message ( "-------------HIP-Inc: ${HIP_INC_DIR}" )
|
||||
message ( "-------------KFD-Inc: ${HSA_KMT_INC_PATH}" )
|
||||
message ( "-----CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}" )
|
||||
message ( "---CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}" )
|
||||
|
||||
Исполняемый файл
+35
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/python
|
||||
import os, sys, re
|
||||
|
||||
OUT_H = 'inc/kfd_prof_str.h'
|
||||
OUT_C = "src/kfd/kfd_wrapper.cpp"
|
||||
API_HEADER = "hsakmt.h"
|
||||
|
||||
content_h = \
|
||||
'#ifndef KFD_PROF_STR_H_\n' + \
|
||||
'#define KFD_PROF_STR_H_\n' + \
|
||||
'#endif \\\\ KFD_PROF_STR_H_\n'
|
||||
|
||||
content_c = 'namespace kfd { void fun() {}; } // namespace kfd\n'
|
||||
|
||||
#############################################################
|
||||
# main
|
||||
# Usage
|
||||
if len(sys.argv) != 3:
|
||||
print >>sys.stderr, "Usage:", sys.argv[0], " <rocTracer root> <KFD include path>"
|
||||
sys.exit(1)
|
||||
else:
|
||||
ROOT = sys.argv[1] + '/'
|
||||
KFD_DIR = sys.argv[2] + '/'
|
||||
|
||||
|
||||
out_h_file = ROOT + OUT_H
|
||||
out_c_file = ROOT + OUT_C
|
||||
print 'Generating: "' + out_h_file + '", ' + out_c_file + '"'
|
||||
f = open(out_h_file, 'w')
|
||||
f.write(content_h)
|
||||
f.close()
|
||||
f = open(out_c_file, 'w')
|
||||
f.write(content_c)
|
||||
f.close()
|
||||
#############################################################
|
||||
@@ -13,3 +13,25 @@ add_library ( ${TARGET_LIB} SHARED ${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} )
|
||||
target_link_libraries( ${TARGET_LIB} PRIVATE ${HSA_RUNTIME_LIB} c stdc++ )
|
||||
execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/hsaap.py ${ROOT_DIR} ${HSA_RUNTIME_INC_PATH}" )
|
||||
|
||||
set ( KFD_LIB "kfdwrapper64" )
|
||||
set ( KFD_LIB_SRC
|
||||
${LIB_DIR}/kfd/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} )
|
||||
target_link_libraries( ${KFD_LIB} PRIVATE c stdc++ )
|
||||
#execute_process ( COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}" )
|
||||
add_custom_command (
|
||||
OUTPUT "${ROOT_DIR}/src/kfd/kfd_wrapper.cpp"
|
||||
COMMAND sh -xc "${ROOT_DIR}/script/kfdap.py ${ROOT_DIR} ${HSA_KMT_INC_PATH}"
|
||||
DEPENDS ${ROOT_DIR}/script/kfdap.py
|
||||
)
|
||||
|
||||
set ( ROCTX_LIB "roctx64" )
|
||||
set ( ROCTX_LIB_SRC
|
||||
${LIB_DIR}/roctx/roctx.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_link_libraries( ${ROCTX_LIB} PRIVATE c stdc++ )
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
namespace roctx {
|
||||
|
||||
void fun() {}
|
||||
|
||||
} // namespace roctx
|
||||
Ссылка в новой задаче
Block a user