Make directed_test support static libs

1.Make directed_test apps linked against static libs
    of hip, rocclr, rocr, roct and amd_comgr.
    2.Remove custom_target amdhip64_static_combiner.
    3.Support EXCLUDE_HIP_LIB_TYPE <static|shared>.
    4.Simplify argument list parsing.
    5.Install rocclr when rocm is installed.
    6.Fix some original small bugs.

Revert "Revert "Make directed_test support static libs""
This reverts commit 133b67256c.

Change-Id: I918eeae94487e5e2ff5bfde083667ac65fb6e702


[ROCm/hip-tests commit: ef2751c120]
This commit is contained in:
Tao Sang
2020-10-12 10:27:33 -04:00
vanhempi 78de3b2f6c
commit 5cd521fd54
6 muutettua tiedostoa jossa 51 lisäystä ja 6 poistoa
@@ -2,6 +2,14 @@ project(bit_extract)
cmake_minimum_required(VERSION 3.10)
if(NOT DEFINED __HIP_ENABLE_PCH)
set(__HIP_ENABLE_PCH ON CACHE BOOL "enable/disable pre-compiled hip headers")
endif()
if(${__HIP_ENABLE_PCH})
add_definitions(-D__HIP_ENABLE_PCH)
endif()
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
@@ -54,6 +54,20 @@ int main(int argc, char* argv[]) {
size_t N = 1000000;
size_t Nbytes = N * sizeof(uint32_t);
#ifdef __HIP_ENABLE_PCH
// Verify hip_pch.o
const char* pch = nullptr;
unsigned int size = 0;
__hipGetPCH(&pch, &size);
printf("pch size: %u\n", size);
if (size == 0) {
printf("__hipGetPCH failed!\n");
return -1;
} else {
printf("__hipGetPCH succeeded!\n");
}
#endif
int deviceId;
CHECK(hipGetDevice(&deviceId));
hipDeviceProp_t props;
@@ -7,6 +7,9 @@ cmake_minimum_required(VERSION 3.10)
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH /opt/rocm/hip /opt/rocm)
# create square.cpp
execute_process(COMMAND sh -c "/opt/rocm/hip/bin/hipify-perl ../square.cu > ../square.cpp")
# Find hip
find_package(hip)
@@ -28,3 +28,11 @@ set(MY_NVCC_OPTIONS)
set_source_files_properties(${MY_SOURCE_FILES} PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1)
hip_add_executable(${MY_TARGET_NAME} ${MY_SOURCE_FILES} HIPCC_OPTIONS ${MY_HIPCC_OPTIONS} HCC_OPTIONS ${MY_HCC_OPTIONS} CLANG_OPTIONS ${MY_CLANG_OPTIONS} NVCC_OPTIONS ${MY_NVCC_OPTIONS})
# Search for rocm in common locations
list(APPEND CMAKE_PREFIX_PATH ${HIP_PATH} /opt/rocm)
find_package(hip QUIET)
if(TARGET hip::host)
message(STATUS "Found hip::host at ${hip_DIR}")
target_link_libraries(${MY_TARGET_NAME} hip::host)
endif()
@@ -37,7 +37,13 @@ Use the following commands to build and execute the sample
```
mkdir build
cd build
For shared lib of hip rt,
cmake ..
Or for static lib of hip rt,
cmake -DCMAKE_PREFIX_PATH="/opt/rocm/llvm/lib/cmake" ..
Then,
make
./MatrixTranspose
```
+12 -6
Näytä tiedosto
@@ -12,16 +12,22 @@ make
2.CMakeLists.txt can support shared and static libs of hip-rocclr runtime.
To build a sample, type in sample folder,
To build a sample, run in the sample folder,
mkdir build (if build folder is missing)
mkdir -p build && cd build
cd build
rm -rf * (to clear up)
a. to build with shared libs, run
cmake ..
b. to build with static libs, run
cmake -DCMAKE_PREFIX_PATH="/opt/rocm/llvm/lib/cmake" ..
Then run,
make
If you want debug version, follow,
cmake -DCMAKE_BUILD_TYPE=Debug ..
Note that if you want debug version, add "-DCMAKE_BUILD_TYPE=Debug" in cmake cmd.