Make it easier to switch between HIP library formats
Change-Id: Id16406795a81f4bb64dbcb76b9b8763ffe59aac6
このコミットが含まれているのは:
+15
-12
@@ -114,11 +114,14 @@ else()
|
||||
endif()
|
||||
|
||||
# Set if we need to build shared or static library
|
||||
if(NOT DEFINED ENV{HIP_USE_SHARED_LIBRARY})
|
||||
set(HIP_USE_SHARED_LIBRARY 0)
|
||||
else()
|
||||
set(HIP_USE_SHARED_LIBRARY $ENV{HIP_USE_SHARED_LIBRARY})
|
||||
if(NOT DEFINED HIP_LIB_TYPE)
|
||||
if(NOT DEFINED ENV{HIP_LIB_TYPE})
|
||||
set(HIP_LIB_TYPE 0)
|
||||
else()
|
||||
set(HIP_LIB_TYPE $ENV{HIP_LIB_TYPE})
|
||||
endif()
|
||||
endif()
|
||||
add_to_config(_buildInfo HIP_LIB_TYPE)
|
||||
|
||||
# Check if we need to build clang hipify
|
||||
if(NOT DEFINED BUILD_CLANG_HIPIFY)
|
||||
@@ -177,11 +180,12 @@ if(HIP_PLATFORM STREQUAL "hcc")
|
||||
src/unpinned_copy_engine.cpp
|
||||
src/hip_module.cpp)
|
||||
|
||||
if(${HIP_USE_SHARED_LIBRARY} EQUAL 1)
|
||||
add_library(hip_hcc SHARED ${SOURCE_FILES})
|
||||
else()
|
||||
#add_library(hip_hcc STATIC ${SOURCE_FILES})
|
||||
if(${HIP_LIB_TYPE} EQUAL 0)
|
||||
add_library(hip_hcc OBJECT ${SOURCE_FILES})
|
||||
elseif(${HIP_LIB_TYPE} EQUAL 1)
|
||||
add_library(hip_hcc STATIC ${SOURCE_FILES})
|
||||
else()
|
||||
add_library(hip_hcc SHARED ${SOURCE_FILES})
|
||||
endif()
|
||||
|
||||
# Generate .buildInfo
|
||||
@@ -200,11 +204,10 @@ add_custom_target(doc COMMAND HIP_PATH=${CMAKE_CURRENT_SOURCE_DIR} doxygen ${CMA
|
||||
#############################
|
||||
# Install hip_hcc if platform is hcc
|
||||
if(HIP_PLATFORM STREQUAL "hcc")
|
||||
if(${HIP_USE_SHARED_LIBRARY} EQUAL 1)
|
||||
install(TARGETS hip_hcc DESTINATION lib)
|
||||
else()
|
||||
#install(TARGETS hip_hcc DESTINATION lib)
|
||||
if(${HIP_LIB_TYPE} EQUAL 0)
|
||||
install(DIRECTORY ${PROJECT_BINARY_DIR}/CMakeFiles/hip_hcc.dir/src/ DESTINATION lib)
|
||||
else()
|
||||
install(TARGETS hip_hcc DESTINATION lib)
|
||||
endif()
|
||||
|
||||
# Install .buildInfo
|
||||
|
||||
@@ -252,13 +252,14 @@ if ($setStdLib eq 0 and $HIP_PLATFORM eq 'hcc')
|
||||
}
|
||||
|
||||
if ($needHipHcc) {
|
||||
$HIP_USE_SHARED_LIBRARY = $ENV{'HIP_USE_SHARED_LIBRARY'} // 0;
|
||||
$HIP_LIB_TYPE = $hipConfig{'HIP_LIB_TYPE'} // 0;
|
||||
|
||||
#$HIPLDFLAGS .= " -L/opt/rocm/hip/lib -lhip_hcc" ;
|
||||
if ($HIP_USE_SHARED_LIBRARY) {
|
||||
$HIPLDFLAGS .= " -L$HIP_PATH/lib -Wl,--rpath=$HIP_PATH/lib -lhip_hcc";
|
||||
} else {
|
||||
if ($HIP_LIB_TYPE eq 0) {
|
||||
$HIPLDFLAGS .= " $HIP_PATH/lib/device_util.cpp.o $HIP_PATH/lib/hip_device.cpp.o $HIP_PATH/lib/hip_error.cpp.o $HIP_PATH/lib/hip_event.cpp.o $HIP_PATH/lib/hip_hcc.cpp.o $HIP_PATH/lib/hip_memory.cpp.o $HIP_PATH/lib/hip_peer.cpp.o $HIP_PATH/lib/hip_stream.cpp.o $HIP_PATH/lib/unpinned_copy_engine.cpp.o $HIP_PATH/lib/hip_ldg.cpp.o $HIP_PATH/lib/hip_fp16.cpp.o $HIP_PATH/lib/hip_context.cpp.o $HIP_PATH/lib/hip_module.cpp.o";
|
||||
} elsif ($HIP_LIB_TYPE eq 1) {
|
||||
$HIPLDFLAGS .= " -L$HIP_PATH/lib -lhip_hcc" ;
|
||||
} else {
|
||||
$HIPLDFLAGS .= " -L$HIP_PATH/lib -Wl,--rpath=$HIP_PATH/lib -lhip_hcc";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする