diff --git a/.gitignore b/.gitignore index e889ef2680..180b865cf6 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/cmake_modules/env.cmake b/cmake_modules/env.cmake index 2ae54cfaa6..db8ed9d7eb 100644 --- a/cmake_modules/env.cmake +++ b/cmake_modules/env.cmake @@ -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}" ) diff --git a/script/kfdap.py b/script/kfdap.py new file mode 100755 index 0000000000..93f7e18072 --- /dev/null +++ b/script/kfdap.py @@ -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], " " + 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() +############################################################# diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 46766ad815..5e499fa596 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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++ ) diff --git a/src/roctx/roctx.cpp b/src/roctx/roctx.cpp new file mode 100644 index 0000000000..755ac3635d --- /dev/null +++ b/src/roctx/roctx.cpp @@ -0,0 +1,5 @@ +namespace roctx { + +void fun() {} + +} // namespace roctx