diff options
author | George Rokos <grokos@us.ibm.com> | 2017-12-07 20:27:31 +0000 |
---|---|---|
committer | George Rokos <grokos@us.ibm.com> | 2017-12-07 20:27:31 +0000 |
commit | 145c54721b6e91a4fcf0d352d7e396cce3939cb1 (patch) | |
tree | b18124cf16c739b8533c4ecf21b6d39ee1bc5fd4 /clang/CMakeLists.txt | |
parent | dfc79c7c333b1764140c9da01ffd37222ba4939c (diff) |
[OpenMP] NVPTX: Set default/minimum compute capability to sm_35
The current implementation of the nvptx runtime (to be upstreamed shortly) uses the atomicMax operation on 64-bit integers.
This is only supported in compute capabilities 3.5 and later. I've changed the clang default to sm_35.
Differential Revision: https://reviews.llvm.org/D40977
llvm-svn: 320082
Diffstat (limited to 'clang/CMakeLists.txt')
-rw-r--r-- | clang/CMakeLists.txt | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index 884879851544..2eee8e6148f7 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -241,14 +241,15 @@ set(CLANG_DEFAULT_OBJCOPY "objcopy" CACHE STRING set(CLANG_DEFAULT_OPENMP_RUNTIME "libomp" CACHE STRING "Default OpenMP runtime used by -fopenmp.") -# OpenMP offloading requires at least sm_30 because we use shuffle instructions -# to generate efficient code for reductions. -set(CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_30" CACHE STRING +# OpenMP offloading requires at least sm_35 because we use shuffle instructions +# to generate efficient code for reductions and the atomicMax instruction on +# 64-bit integers in the implementation of conditional lastprivate. +set(CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_35" CACHE STRING "Default architecture for OpenMP offloading to Nvidia GPUs.") string(REGEX MATCH "^sm_([0-9]+)$" MATCHED_ARCH "${CLANG_OPENMP_NVPTX_DEFAULT_ARCH}") -if (NOT DEFINED MATCHED_ARCH OR "${CMAKE_MATCH_1}" LESS 30) - message(WARNING "Resetting default architecture for OpenMP offloading to Nvidia GPUs to sm_30") - set(CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_30" CACHE STRING +if (NOT DEFINED MATCHED_ARCH OR "${CMAKE_MATCH_1}" LESS 35) + message(WARNING "Resetting default architecture for OpenMP offloading to Nvidia GPUs to sm_35") + set(CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_35" CACHE STRING "Default architecture for OpenMP offloading to Nvidia GPUs." FORCE) endif() |