Skip to content

Commit

Permalink
fix pgi cuda build, quiet warning about CUDA_ARCHITECTURES
Browse files Browse the repository at this point in the history
  • Loading branch information
white238 committed Jun 18, 2022
1 parent fc66efa commit 2ef7009
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 16 deletions.
6 changes: 6 additions & 0 deletions SetupBLT.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,12 @@ if (NOT BLT_LOADED)
cmake_policy(SET CMP0076 OLD)
endif()

# Sets CUDA_ARCHITECTURES target property based on CMAKE_CUDA_ARCHITECTURES
# Policy added in 3.18+
if(POLICY CMP0104)
cmake_policy(SET CMP0104 NEW)
endif()

################################
# Invoke CMake Fortran setup
# if ENABLE_FORTRAN == ON
Expand Down
4 changes: 2 additions & 2 deletions cmake/BLTMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ macro(blt_register_library)
mark_as_advanced(_BLT_${uppercase_name}_IS_OBJECT_LIBRARY)

# PGI does not support -isystem
if( (${arg_TREAT_INCLUDES_AS_SYSTEM}) AND (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "PGI"))
if( (${arg_TREAT_INCLUDES_AS_SYSTEM}) AND (NOT ${C_COMPILER_FAMILY_IS_PGI}))
set(_BLT_${uppercase_name}_TREAT_INCLUDES_AS_SYSTEM TRUE CACHE BOOL "" FORCE)
else()
set(_BLT_${uppercase_name}_TREAT_INCLUDES_AS_SYSTEM FALSE CACHE BOOL "" FORCE)
Expand Down Expand Up @@ -480,7 +480,7 @@ macro(blt_patch_target)
endif()

# PGI does not support -isystem
if( (${arg_TREAT_INCLUDES_AS_SYSTEM}) AND (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "PGI"))
if( (${arg_TREAT_INCLUDES_AS_SYSTEM}) AND (NOT ${C_COMPILER_FAMILY_IS_PGI}))
get_target_property(_target_includes ${arg_NAME} INTERFACE_INCLUDE_DIRECTORIES)
# Don't copy if the target had no include directories
if(_target_includes)
Expand Down
11 changes: 7 additions & 4 deletions cmake/BLTPrivateMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -255,10 +255,13 @@ macro(blt_inherit_target_info)

blt_determine_scope(TARGET ${arg_TO} OUT _scope)

get_target_property(_interface_system_includes
${arg_FROM} INTERFACE_SYSTEM_INCLUDE_DIRECTORIES)
if ( _interface_system_includes )
target_include_directories(${arg_TO} SYSTEM ${_scope} ${_interface_system_includes})
# PGI does not support -isystem
if(NOT ${C_COMPILER_FAMILY_IS_PGI})
get_target_property(_interface_system_includes
${arg_FROM} INTERFACE_SYSTEM_INCLUDE_DIRECTORIES)
if ( _interface_system_includes )
target_include_directories(${arg_TO} SYSTEM ${_scope} ${_interface_system_includes})
endif()
endif()

get_target_property(_interface_includes
Expand Down
2 changes: 2 additions & 0 deletions cmake/thirdparty/SetupCUDA.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ if( ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.9.0" )
else()
message(STATUS "CUDA Host Compiler: ${CUDA_HOST_COMPILER}")
endif()
message(STATUS "CUDA Architectures: ${CMAKE_CUDA_ARCHITECTURES}")
message(STATUS "CUDA Include Path: ${CUDAToolkit_INCLUDE_DIRS}")
message(STATUS "CUDA Compile Flags: ${CMAKE_CUDA_FLAGS}")
message(STATUS "CUDA Link Flags: ${CMAKE_CUDA_LINK_FLAGS}")
Expand Down Expand Up @@ -123,6 +124,7 @@ endif ()

blt_import_library(NAME blt_cuda
LINK_FLAGS "${CMAKE_CUDA_LINK_FLAGS}"
TREAT_INCLUDES_AS_SYSTEM ON
EXPORTABLE ${BLT_EXPORT_THIRDPARTY}
GLOBAL ${_blt_cuda_is_global})

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,14 @@
#------------------------------------------------------------------------------
# Example host-config file for using PGI and CUDA
#------------------------------------------------------------------------------
set (CMAKE_CXX_COMPILER "/usr/tce/packages/pgi/pgi-20.4/bin/pgc++" CACHE PATH "")
set (CMAKE_C_COMPILER "/usr/tce/packages/pgi/pgi-20.4/bin/pgcc" CACHE PATH "")
set(CMAKE_CXX_COMPILER "/usr/tce/packages/pgi/pgi-20.4/bin/pgc++" CACHE PATH "")
set(CMAKE_C_COMPILER "/usr/tce/packages/pgi/pgi-20.4/bin/pgcc" CACHE PATH "")

set(ENABLE_FORTRAN OFF CACHE BOOL "")
set(ENABLE_MPI OFF CACHE BOOL "")
set(ENABLE_OPENMP OFF CACHE BOOL "")

set(ENABLE_CUDA ON CACHE BOOL "")

set(CUDA_TOOLKIT_ROOT_DIR "/usr/tce/packages/cuda/cuda-11.1.1" CACHE PATH "")
set(CMAKE_CUDA_COMPILER "${CUDA_TOOLKIT_ROOT_DIR}/bin/nvcc" CACHE PATH "")
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "")

set(CUDA_SEPARABLE_COMPILATION ON CACHE BOOL "" )

set (_cuda_arch "sm_70")
set (CMAKE_CUDA_FLAGS "-restrict -arch ${_cuda_arch} -std=c++11 --expt-extended-lambda -G" CACHE STRING "" )
set(CUDA_SEPARABLE_COMPILATION ON CACHE BOOL "")
set(CMAKE_CUDA_ARCHITECTURES "70" CACHE BOOL "")

0 comments on commit 2ef7009

Please sign in to comment.