|
| 1 | +include(ExternalProject) |
| 2 | + |
1 | 3 | include(External) |
2 | 4 | include(GPUTestVariant) |
3 | 5 | llvm_externals_find(TEST_SUITE_HIP_ROOT "hip" "HIP prerequisites") |
@@ -121,6 +123,67 @@ macro(create_hip_tests) |
121 | 123 | create_hip_test(${_HIP_Suffix}) |
122 | 124 | endforeach() |
123 | 125 |
|
| 126 | + if (EXTERNAL_HIP_TESTS_KOKKOS) |
| 127 | + set(EXTERNAL_HIP_TESTS_KOKKOS_TAG "4.5.01" CACHE STRING "Kokkos tag to download and test") |
| 128 | + ExternalProject_Add(TestKokkosHIP |
| 129 | + GIT_REPOSITORY https://github.com/kokkos/kokkos.git |
| 130 | + GIT_TAG ${EXTERNAL_HIP_TESTS_KOKKOS_TAG} |
| 131 | + CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release |
| 132 | + -DCMAKE_CXX_STANDARD=17 |
| 133 | + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} |
| 134 | + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} |
| 135 | + -DKokkos_ENABLE_HIP=ON |
| 136 | + -DKokkos_ARCH_AMD_GFX90A=ON |
| 137 | + -DCMAKE_PREFIX_PATH=/opt/rocm |
| 138 | + -DKokkos_ENABLE_TESTS=ON |
| 139 | + INSTALL_COMMAND "" |
| 140 | + TEST_COMMAND "" |
| 141 | + ) |
| 142 | + add_custom_target(build-kokkos DEPENDS TestKokkosHIP) |
| 143 | + ExternalProject_Get_Property(TestKokkosHIP BINARY_DIR) |
| 144 | + add_custom_target(test-kokkos ${CMAKE_COMMAND} -E env GTEST_FILTER=-hip.atomics:hip.bit_manip_bit_ceil "ctest" WORKING_DIRECTORY "${BINARY_DIR}" DEPENDS build-kokkos) |
| 145 | + endif() |
| 146 | + |
| 147 | + if (EXTERNAL_HIP_TESTS_GINKGO) |
| 148 | + set(EXTERNAL_HIP_TESTS_GINKGO_TAG "v1.9.0" CACHE STRING "Ginkgo tag to download and test") |
| 149 | + ExternalProject_Add(TestGinkgoHIP |
| 150 | + GIT_REPOSITORY https://github.com/ginkgo-project/ginkgo.git |
| 151 | + GIT_TAG ${EXTERNAL_HIP_TESTS_GINKGO_TAG} |
| 152 | + CMAKE_ARGS -DGINKGO_BUILD_HIP=ON |
| 153 | + -DCMAKE_PREFIX_PATH=/opt/rocm |
| 154 | + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} |
| 155 | + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} |
| 156 | + -DGINKGO_BUILD_MPI=OFF |
| 157 | + -DCMAKE_HIP_COMPILER=${CMAKE_CXX_COMPILER} |
| 158 | + -DGINKGO_WITH_CCACHE=OFF |
| 159 | + -DGINKGO_BUILD_EXAMPLES=OFF |
| 160 | + INSTALL_COMMAND "" |
| 161 | + TEST_COMMAND "" |
| 162 | + ) |
| 163 | + |
| 164 | + add_custom_target(build-ginkgo DEPENDS TestGinkgoHIP) |
| 165 | + ExternalProject_Get_Property(TestGinkgoHIP BINARY_DIR) |
| 166 | + add_custom_target(test-ginkgo COMMAND "ctest" "-R hip" WORKING_DIRECTORY "${BINARY_DIR}" DEPENDS build-ginkgo) |
| 167 | + endif() |
| 168 | + |
| 169 | + if (EXTERNAL_HIP_TESTS_ROCPRIM) |
| 170 | + ExternalProject_Add(BuildRocPrim |
| 171 | + GIT_REPOSITORY https://github.com/ROCm/rocPRIM.git |
| 172 | + GIT_TAG ae4d27e # Staging for ROCm 6.4 |
| 173 | + CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} |
| 174 | + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} |
| 175 | + -DCMAKE_HIP_COMPILER=${CMAKE_CXX_COMPILER} |
| 176 | + -DBUILD_TEST=ON |
| 177 | + -DAMDGPU_TARGETS="${AMDGPU_ARCHS}" |
| 178 | + -DCMAKE_BUILD_TYPE=Release |
| 179 | + INSTALL_COMMAND "" |
| 180 | + TEST_COMMAND "" |
| 181 | + ) |
| 182 | + |
| 183 | + add_custom_target(build-rocprim DEPENDS BuildRocPrim) |
| 184 | + |
| 185 | + endif() |
| 186 | + |
124 | 187 | add_custom_target(hip-tests-all DEPENDS hip-tests-simple |
125 | 188 | COMMENT "Build all HIP tests.") |
126 | 189 |
|
|
0 commit comments