summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Pyzhov <konstantin.pyzhov@gmail.com>2019-10-11 09:46:29 (GMT)
committerBrad King <brad.king@kitware.com>2019-10-12 15:04:45 (GMT)
commitdb5a8d78761e59d43db2b463a8f8aaa5e7d2be48 (patch)
tree2f2f71f64c6dc94a9972d80548fec3b51dbc27d5
parent9150c818b7d2afb868575fcb2e0c9ba62b9d7f85 (diff)
downloadCMake-db5a8d78761e59d43db2b463a8f8aaa5e7d2be48.zip
CMake-db5a8d78761e59d43db2b463a8f8aaa5e7d2be48.tar.gz
CMake-db5a8d78761e59d43db2b463a8f8aaa5e7d2be48.tar.bz2
FindOpenMP: Add support for HIP clang device pass
The HIP clang makes 2 passes when compiling HIP programs: the DEVICE pass and the HOST pass. For openmp, the `-fopenmp` option is only passed to the HOST compilation pass. Therefore, the small test that CMake uses for OpenMP detection fails to compile, and CMake reports failure to detect OpenMP support in the compiler. The suggested solution is to add check for `__HIP_DEVICE_COMPILE__` macro defined by HIP clang for the DEVICE pass to the OpenMP detection test.
-rw-r--r--Modules/FindOpenMP.cmake2
1 files changed, 2 insertions, 0 deletions
diff --git a/Modules/FindOpenMP.cmake b/Modules/FindOpenMP.cmake
index def23bb..ab9d73a 100644
--- a/Modules/FindOpenMP.cmake
+++ b/Modules/FindOpenMP.cmake
@@ -128,6 +128,8 @@ int main(void) {
#ifdef _OPENMP
omp_get_max_threads();
return 0;
+#elif defined(__HIP_DEVICE_COMPILE__)
+ return 0;
#else
breaks_on_purpose
#endif