diff --git a/projects/hip-tests/samples/0_Intro/bit_extract/CMakeLists.txt b/projects/hip-tests/samples/0_Intro/bit_extract/CMakeLists.txt index c9b13be812..ec3930f691 100644 --- a/projects/hip-tests/samples/0_Intro/bit_extract/CMakeLists.txt +++ b/projects/hip-tests/samples/0_Intro/bit_extract/CMakeLists.txt @@ -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) diff --git a/projects/hip-tests/samples/0_Intro/bit_extract/bit_extract.cpp b/projects/hip-tests/samples/0_Intro/bit_extract/bit_extract.cpp index e87124f47f..1f7770ccb5 100644 --- a/projects/hip-tests/samples/0_Intro/bit_extract/bit_extract.cpp +++ b/projects/hip-tests/samples/0_Intro/bit_extract/bit_extract.cpp @@ -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; diff --git a/projects/hip-tests/samples/0_Intro/square/CMakeLists.txt b/projects/hip-tests/samples/0_Intro/square/CMakeLists.txt index 845c43fd1f..2e101e1470 100644 --- a/projects/hip-tests/samples/0_Intro/square/CMakeLists.txt +++ b/projects/hip-tests/samples/0_Intro/square/CMakeLists.txt @@ -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) diff --git a/projects/hip-tests/samples/2_Cookbook/12_cmake_hip_add_executable/CMakeLists.txt b/projects/hip-tests/samples/2_Cookbook/12_cmake_hip_add_executable/CMakeLists.txt index 0e8020a67a..472b7df592 100644 --- a/projects/hip-tests/samples/2_Cookbook/12_cmake_hip_add_executable/CMakeLists.txt +++ b/projects/hip-tests/samples/2_Cookbook/12_cmake_hip_add_executable/CMakeLists.txt @@ -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() \ No newline at end of file diff --git a/projects/hip-tests/samples/2_Cookbook/12_cmake_hip_add_executable/Readme.md b/projects/hip-tests/samples/2_Cookbook/12_cmake_hip_add_executable/Readme.md index 4e322fd83e..9aa6b96fab 100644 --- a/projects/hip-tests/samples/2_Cookbook/12_cmake_hip_add_executable/Readme.md +++ b/projects/hip-tests/samples/2_Cookbook/12_cmake_hip_add_executable/Readme.md @@ -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 ``` diff --git a/projects/hip-tests/samples/README.md b/projects/hip-tests/samples/README.md index 739045382e..c54ec20b3a 100644 --- a/projects/hip-tests/samples/README.md +++ b/projects/hip-tests/samples/README.md @@ -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 .. \ No newline at end of file +Note that if you want debug version, add "-DCMAKE_BUILD_TYPE=Debug" in cmake cmd. \ No newline at end of file