r315996 - [CMake][OpenMP] Customize default offloading arch
Jonas Hahnfeld via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 7 17:34:58 PST 2017
Hi Ahmed,
Am 2017-12-07 19:57, schrieb Ahmed Bougacha:
> Hi Jonas,
>
> On Tue, Oct 17, 2017 at 6:37 AM, Jonas Hahnfeld via cfe-commits
> <cfe-commits at lists.llvm.org> wrote:
>> Author: hahnfeld
>> Date: Tue Oct 17 06:37:36 2017
>> New Revision: 315996
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=315996&view=rev
>> Log:
>> [CMake][OpenMP] Customize default offloading arch
>>
>> For the shuffle instructions in reductions we need at least sm_30
>> but the user may want to customize the default architecture.
>>
>> Differential Revision: https://reviews.llvm.org/D38883
>>
>> Modified:
>> cfe/trunk/CMakeLists.txt
>> cfe/trunk/include/clang/Config/config.h.cmake
>> cfe/trunk/lib/Driver/ToolChains/Cuda.cpp
>> cfe/trunk/lib/Driver/ToolChains/Cuda.h
>>
>> Modified: cfe/trunk/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/CMakeLists.txt?rev=315996&r1=315995&r2=315996&view=diff
>> ==============================================================================
>> --- cfe/trunk/CMakeLists.txt (original)
>> +++ cfe/trunk/CMakeLists.txt Tue Oct 17 06:37:36 2017
>> @@ -235,6 +235,17 @@ endif()
>> 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
>> + "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")
>
> This warning is pretty noisy and doesn't affect most people: I don't
> know what it means but I get it in every cmake run.
> Can we somehow restrict or disable it?
So the next line used to say
>> + set(CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_30" CACHE STRING
>> + "Default architecture for OpenMP offloading to Nvidia GPUs."
>> FORCE)
which should make sure that the cache is updated to a "correct" value
and you only see the warning once. That said, we have raised the default
to "sm_35" today, maybe something has gone wrong here. Let me check that
and come back to you!
Cheers,
Jonas
More information about the cfe-commits
mailing list