mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Formatting cmake (to lowercase without space for if/elseif/else/endif) (#35521)
Summary:
Running commands:
```bash
shopt -s globstar
sed -e 's/IF (/if(/g' -e 's/IF(/if(/g' -e 's/if (/if(/g' -e 's/ELSE (/else(/g' -e 's/ELSE(/else(/g' -e 's/else (/else(/g' -e 's/ENDif(/endif(/g' -e 's/ELSEif(/elseif(/g' -i CMakeLists.txt
sed -e 's/IF (/if(/g' -e 's/IF(/if(/g' -e 's/if (/if(/g' -e 's/ELSE (/else(/g' -e 's/ELSE(/else(/g' -e 's/else (/else(/g' -e 's/ENDif(/endif(/g' -e 's/ELSEif(/elseif(/g' -i caffe2/**/CMakeLists.txt
sed -e 's/IF (/if(/g' -e 's/IF(/if(/g' -e 's/if (/if(/g' -e 's/ELSE (/else(/g' -e 's/ELSE(/else(/g' -e 's/else (/else(/g' -e 's/ENDif(/endif(/g' -e 's/ELSEif(/elseif(/g' -i torch/**/CMakeLists.txt
sed -e 's/IF (/if(/g' -e 's/IF(/if(/g' -e 's/if (/if(/g' -e 's/ELSE (/else(/g' -e 's/ELSE(/else(/g' -e 's/else (/else(/g' -e 's/ENDif(/endif(/g' -e 's/ELSEif(/elseif(/g' -i c10/**/CMakeLists.txt
sed -e 's/IF (/if(/g' -e 's/IF(/if(/g' -e 's/if (/if(/g' -e 's/ELSE (/else(/g' -e 's/ELSE(/else(/g' -e 's/else (/else(/g' -e 's/ENDif(/endif(/g' -e 's/ELSEif(/elseif(/g' -i cmake/**/*.cmake
sed -e 's/IF (/if(/g' -e 's/IF(/if(/g' -e 's/if (/if(/g' -e 's/ELSE (/else(/g' -e 's/ELSE(/else(/g' -e 's/else (/else(/g' -e 's/ENDif(/endif(/g' -e 's/ELSEif(/elseif(/g' -i cmake/**/*.cmake.in
```
We may further convert all the commands into lowercase according to the following issue: 77543bde41
.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/35521
Differential Revision: D20704382
Pulled By: malfet
fbshipit-source-id: 42186b9b1660c34428ab7ceb8d3f7a0ced5d2e80
This commit is contained in:
committed by
Facebook GitHub Bot
parent
04a3345335
commit
45c9ed825a
@ -53,43 +53,43 @@ install(FILES ${CMAKE_BINARY_DIR}/caffe2/core/macros.h
|
|||||||
|
|
||||||
# ---[ ATen specific
|
# ---[ ATen specific
|
||||||
if(INTERN_BUILD_ATEN_OPS)
|
if(INTERN_BUILD_ATEN_OPS)
|
||||||
IF(MSVC)
|
if(MSVC)
|
||||||
SET(OPT_FLAG "/fp:strict ")
|
SET(OPT_FLAG "/fp:strict ")
|
||||||
ELSE(MSVC)
|
else(MSVC)
|
||||||
SET(OPT_FLAG "-O3 ")
|
SET(OPT_FLAG "-O3 ")
|
||||||
IF("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
|
if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
|
||||||
SET(OPT_FLAG " ")
|
SET(OPT_FLAG " ")
|
||||||
ENDIF()
|
endif()
|
||||||
ENDIF(MSVC)
|
endif(MSVC)
|
||||||
|
|
||||||
IF(C_AVX_FOUND)
|
if(C_AVX_FOUND)
|
||||||
IF(MSVC)
|
if(MSVC)
|
||||||
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_LIST_DIR}/../aten/src/TH/vector/AVX.cpp PROPERTIES COMPILE_FLAGS "${OPT_FLAG}/arch:AVX ${CXX_AVX_FLAGS}")
|
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_LIST_DIR}/../aten/src/TH/vector/AVX.cpp PROPERTIES COMPILE_FLAGS "${OPT_FLAG}/arch:AVX ${CXX_AVX_FLAGS}")
|
||||||
ELSE(MSVC)
|
else(MSVC)
|
||||||
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_LIST_DIR}/../aten/src/TH/vector/AVX.cpp PROPERTIES COMPILE_FLAGS "${OPT_FLAG} ${CXX_AVX_FLAGS}")
|
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_LIST_DIR}/../aten/src/TH/vector/AVX.cpp PROPERTIES COMPILE_FLAGS "${OPT_FLAG} ${CXX_AVX_FLAGS}")
|
||||||
ENDIF(MSVC)
|
endif(MSVC)
|
||||||
ENDIF(C_AVX_FOUND)
|
endif(C_AVX_FOUND)
|
||||||
|
|
||||||
IF(NOT MSVC AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
|
if(NOT MSVC AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
|
||||||
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_LIST_DIR}/../aten/src/TH/THAllocator.cpp PROPERTIES COMPILE_FLAGS "-fno-openmp")
|
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_LIST_DIR}/../aten/src/TH/THAllocator.cpp PROPERTIES COMPILE_FLAGS "-fno-openmp")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
FILE(GLOB cpu_kernel_cpp_in "${CMAKE_CURRENT_LIST_DIR}/../aten/src/ATen/native/cpu/*.cpp" "${CMAKE_CURRENT_LIST_DIR}/../aten/src/ATen/native/quantized/cpu/kernels/*.cpp")
|
FILE(GLOB cpu_kernel_cpp_in "${CMAKE_CURRENT_LIST_DIR}/../aten/src/ATen/native/cpu/*.cpp" "${CMAKE_CURRENT_LIST_DIR}/../aten/src/ATen/native/quantized/cpu/kernels/*.cpp")
|
||||||
|
|
||||||
LIST(APPEND CPU_CAPABILITY_NAMES "DEFAULT")
|
LIST(APPEND CPU_CAPABILITY_NAMES "DEFAULT")
|
||||||
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG}")
|
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG}")
|
||||||
|
|
||||||
IF(CXX_AVX_FOUND)
|
if(CXX_AVX_FOUND)
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_AVX_CPU_DEFINITION")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_AVX_CPU_DEFINITION")
|
||||||
LIST(APPEND CPU_CAPABILITY_NAMES "AVX")
|
LIST(APPEND CPU_CAPABILITY_NAMES "AVX")
|
||||||
IF(MSVC)
|
if(MSVC)
|
||||||
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG}/arch:AVX")
|
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG}/arch:AVX")
|
||||||
ELSE(MSVC)
|
else(MSVC)
|
||||||
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG} -mavx")
|
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG} -mavx")
|
||||||
ENDIF(MSVC)
|
endif(MSVC)
|
||||||
ENDIF(CXX_AVX_FOUND)
|
endif(CXX_AVX_FOUND)
|
||||||
|
|
||||||
IF(CXX_AVX2_FOUND)
|
if(CXX_AVX2_FOUND)
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_AVX2_CPU_DEFINITION")
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_AVX2_CPU_DEFINITION")
|
||||||
|
|
||||||
# Some versions of GCC pessimistically split unaligned load and store
|
# Some versions of GCC pessimistically split unaligned load and store
|
||||||
@ -97,17 +97,17 @@ if (INTERN_BUILD_ATEN_OPS)
|
|||||||
# new Intel and AMD processors so we disable it when compiling with AVX2.
|
# new Intel and AMD processors so we disable it when compiling with AVX2.
|
||||||
# See https://stackoverflow.com/questions/52626726/why-doesnt-gcc-resolve-mm256-loadu-pd-as-single-vmovupd#tab-top
|
# See https://stackoverflow.com/questions/52626726/why-doesnt-gcc-resolve-mm256-loadu-pd-as-single-vmovupd#tab-top
|
||||||
check_cxx_compiler_flag("-mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store" COMPILER_SUPPORTS_NO_AVX256_SPLIT)
|
check_cxx_compiler_flag("-mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store" COMPILER_SUPPORTS_NO_AVX256_SPLIT)
|
||||||
IF(COMPILER_SUPPORTS_NO_AVX256_SPLIT)
|
if(COMPILER_SUPPORTS_NO_AVX256_SPLIT)
|
||||||
SET(CPU_NO_AVX256_SPLIT_FLAGS "-mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store")
|
SET(CPU_NO_AVX256_SPLIT_FLAGS "-mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store")
|
||||||
ENDIF(COMPILER_SUPPORTS_NO_AVX256_SPLIT)
|
endif(COMPILER_SUPPORTS_NO_AVX256_SPLIT)
|
||||||
|
|
||||||
LIST(APPEND CPU_CAPABILITY_NAMES "AVX2")
|
LIST(APPEND CPU_CAPABILITY_NAMES "AVX2")
|
||||||
IF(MSVC)
|
if(MSVC)
|
||||||
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG}/arch:AVX2")
|
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG}/arch:AVX2")
|
||||||
ELSE(MSVC)
|
else(MSVC)
|
||||||
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG} -mavx2 -mfma ${CPU_NO_AVX256_SPLIT_FLAGS}")
|
LIST(APPEND CPU_CAPABILITY_FLAGS "${OPT_FLAG} -mavx2 -mfma ${CPU_NO_AVX256_SPLIT_FLAGS}")
|
||||||
ENDIF(MSVC)
|
endif(MSVC)
|
||||||
ENDIF(CXX_AVX2_FOUND)
|
endif(CXX_AVX2_FOUND)
|
||||||
|
|
||||||
list(LENGTH CPU_CAPABILITY_NAMES NUM_CPU_CAPABILITY_NAMES)
|
list(LENGTH CPU_CAPABILITY_NAMES NUM_CPU_CAPABILITY_NAMES)
|
||||||
math(EXPR NUM_CPU_CAPABILITY_NAMES "${NUM_CPU_CAPABILITY_NAMES}-1")
|
math(EXPR NUM_CPU_CAPABILITY_NAMES "${NUM_CPU_CAPABILITY_NAMES}-1")
|
||||||
@ -120,11 +120,11 @@ if (INTERN_BUILD_ATEN_OPS)
|
|||||||
CONFIGURE_FILE(${IMPL} ${NEW_IMPL} COPYONLY)
|
CONFIGURE_FILE(${IMPL} ${NEW_IMPL} COPYONLY)
|
||||||
SET(cpu_kernel_cpp ${NEW_IMPL} ${cpu_kernel_cpp}) # Create list of copies
|
SET(cpu_kernel_cpp ${NEW_IMPL} ${cpu_kernel_cpp}) # Create list of copies
|
||||||
LIST(GET CPU_CAPABILITY_FLAGS ${i} FLAGS)
|
LIST(GET CPU_CAPABILITY_FLAGS ${i} FLAGS)
|
||||||
IF(MSVC)
|
if(MSVC)
|
||||||
SET(MACRO_FLAG "/DCPU_CAPABILITY=${CPU_CAPABILITY} /DCPU_CAPABILITY_${CPU_CAPABILITY}")
|
SET(MACRO_FLAG "/DCPU_CAPABILITY=${CPU_CAPABILITY} /DCPU_CAPABILITY_${CPU_CAPABILITY}")
|
||||||
ELSE(MSVC)
|
else(MSVC)
|
||||||
SET(MACRO_FLAG "-DCPU_CAPABILITY=${CPU_CAPABILITY} -DCPU_CAPABILITY_${CPU_CAPABILITY}")
|
SET(MACRO_FLAG "-DCPU_CAPABILITY=${CPU_CAPABILITY} -DCPU_CAPABILITY_${CPU_CAPABILITY}")
|
||||||
ENDIF(MSVC)
|
endif(MSVC)
|
||||||
SET_SOURCE_FILES_PROPERTIES(${NEW_IMPL} PROPERTIES COMPILE_FLAGS "${FLAGS} ${MACRO_FLAG}")
|
SET_SOURCE_FILES_PROPERTIES(${NEW_IMPL} PROPERTIES COMPILE_FLAGS "${FLAGS} ${MACRO_FLAG}")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
@ -279,14 +279,14 @@ if(INTERN_BUILD_MOBILE AND NOT BUILD_CAFFE2_MOBILE AND (USE_QNNPACK OR USE_NNPAC
|
|||||||
set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE STRING "pthreadpool source directory")
|
set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE STRING "pthreadpool source directory")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
IF(NOT TARGET pthreadpool)
|
if(NOT TARGET pthreadpool)
|
||||||
SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
|
SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
|
||||||
SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
|
SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
|
||||||
ADD_SUBDIRECTORY(
|
ADD_SUBDIRECTORY(
|
||||||
"${PTHREADPOOL_SOURCE_DIR}"
|
"${PTHREADPOOL_SOURCE_DIR}"
|
||||||
"${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool"
|
"${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool"
|
||||||
EXCLUDE_FROM_ALL)
|
EXCLUDE_FROM_ALL)
|
||||||
ENDIF()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# XNNPACK has not option of like QNNPACK_CUSTOM_THREADPOOL
|
# XNNPACK has not option of like QNNPACK_CUSTOM_THREADPOOL
|
||||||
@ -299,14 +299,14 @@ if (USE_XNNPACK)
|
|||||||
set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE STRING "pthreadpool source directory")
|
set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE STRING "pthreadpool source directory")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
IF(NOT TARGET pthreadpool)
|
if(NOT TARGET pthreadpool)
|
||||||
SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
|
SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
|
||||||
SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
|
SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
|
||||||
ADD_SUBDIRECTORY(
|
ADD_SUBDIRECTORY(
|
||||||
"${PTHREADPOOL_SOURCE_DIR}"
|
"${PTHREADPOOL_SOURCE_DIR}"
|
||||||
"${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool"
|
"${CONFU_DEPENDENCIES_BINARY_DIR}/pthreadpool"
|
||||||
EXCLUDE_FROM_ALL)
|
EXCLUDE_FROM_ALL)
|
||||||
ENDIF()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# ---[ Caffe2 uses cpuinfo library in the thread pool
|
# ---[ Caffe2 uses cpuinfo library in the thread pool
|
||||||
@ -885,24 +885,24 @@ if(USE_OPENMP)
|
|||||||
SET(WITH_OPENMP ON CACHE BOOL "OpenMP support if available?")
|
SET(WITH_OPENMP ON CACHE BOOL "OpenMP support if available?")
|
||||||
|
|
||||||
# macOS + GCC
|
# macOS + GCC
|
||||||
IF (APPLE AND CMAKE_COMPILER_IS_GNUCC)
|
if(APPLE AND CMAKE_COMPILER_IS_GNUCC)
|
||||||
EXEC_PROGRAM (uname ARGS -v OUTPUT_VARIABLE DARWIN_VERSION)
|
EXEC_PROGRAM (uname ARGS -v OUTPUT_VARIABLE DARWIN_VERSION)
|
||||||
STRING (REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION})
|
STRING (REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION})
|
||||||
MESSAGE (STATUS "macOS Darwin version: ${DARWIN_VERSION}")
|
MESSAGE (STATUS "macOS Darwin version: ${DARWIN_VERSION}")
|
||||||
IF (DARWIN_VERSION GREATER 9)
|
if(DARWIN_VERSION GREATER 9)
|
||||||
SET(APPLE_OPENMP_SUCKS 1)
|
SET(APPLE_OPENMP_SUCKS 1)
|
||||||
ENDIF (DARWIN_VERSION GREATER 9)
|
endif(DARWIN_VERSION GREATER 9)
|
||||||
EXECUTE_PROCESS (COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
EXECUTE_PROCESS (COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
||||||
OUTPUT_VARIABLE GCC_VERSION)
|
OUTPUT_VARIABLE GCC_VERSION)
|
||||||
IF (APPLE_OPENMP_SUCKS AND GCC_VERSION VERSION_LESS 4.6.2)
|
if(APPLE_OPENMP_SUCKS AND GCC_VERSION VERSION_LESS 4.6.2)
|
||||||
MESSAGE(WARNING "Disabling OpenMP (unstable with this version of GCC). "
|
MESSAGE(WARNING "Disabling OpenMP (unstable with this version of GCC). "
|
||||||
"Install GCC >= 4.6.2 or change your OS to enable OpenMP.")
|
"Install GCC >= 4.6.2 or change your OS to enable OpenMP.")
|
||||||
add_compile_options(-Wno-unknown-pragmas)
|
add_compile_options(-Wno-unknown-pragmas)
|
||||||
SET(WITH_OPENMP OFF CACHE BOOL "OpenMP support if available?" FORCE)
|
SET(WITH_OPENMP OFF CACHE BOOL "OpenMP support if available?" FORCE)
|
||||||
ENDIF()
|
endif()
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF("${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC"
|
if("${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC"
|
||||||
AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
MESSAGE(STATUS "Setting OpenMP flags for clang-cl")
|
MESSAGE(STATUS "Setting OpenMP flags for clang-cl")
|
||||||
SET(OpenMP_CXX_FLAGS "-Xclang -fopenmp")
|
SET(OpenMP_CXX_FLAGS "-Xclang -fopenmp")
|
||||||
@ -926,24 +926,24 @@ if(USE_OPENMP)
|
|||||||
|
|
||||||
LIST(APPEND Caffe2_PUBLIC_DEPENDENCY_LIBS caffe2::openmp)
|
LIST(APPEND Caffe2_PUBLIC_DEPENDENCY_LIBS caffe2::openmp)
|
||||||
endif()
|
endif()
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF (WITH_OPENMP AND NOT CHECKED_OPENMP)
|
if(WITH_OPENMP AND NOT CHECKED_OPENMP)
|
||||||
FIND_PACKAGE(OpenMP QUIET)
|
FIND_PACKAGE(OpenMP QUIET)
|
||||||
SET(CHECKED_OPENMP ON CACHE BOOL "already checked for OpenMP")
|
SET(CHECKED_OPENMP ON CACHE BOOL "already checked for OpenMP")
|
||||||
|
|
||||||
# OPENMP_FOUND is not cached in FindOpenMP.cmake (all other variables are cached)
|
# OPENMP_FOUND is not cached in FindOpenMP.cmake (all other variables are cached)
|
||||||
# see https://github.com/Kitware/CMake/blob/master/Modules/FindOpenMP.cmake
|
# see https://github.com/Kitware/CMake/blob/master/Modules/FindOpenMP.cmake
|
||||||
SET(OPENMP_FOUND ${OPENMP_FOUND} CACHE BOOL "OpenMP Support found")
|
SET(OPENMP_FOUND ${OPENMP_FOUND} CACHE BOOL "OpenMP Support found")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
if(OPENMP_FOUND)
|
if(OPENMP_FOUND)
|
||||||
message(STATUS "Adding OpenMP CXX_FLAGS: " ${OpenMP_CXX_FLAGS})
|
message(STATUS "Adding OpenMP CXX_FLAGS: " ${OpenMP_CXX_FLAGS})
|
||||||
IF("${OpenMP_CXX_LIBRARIES}" STREQUAL "")
|
if("${OpenMP_CXX_LIBRARIES}" STREQUAL "")
|
||||||
message(STATUS "No OpenMP library needs to be linked against")
|
message(STATUS "No OpenMP library needs to be linked against")
|
||||||
ELSE()
|
else()
|
||||||
message(STATUS "Will link against OpenMP libraries: ${OpenMP_CXX_LIBRARIES}")
|
message(STATUS "Will link against OpenMP libraries: ${OpenMP_CXX_LIBRARIES}")
|
||||||
ENDIF()
|
endif()
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||||
else()
|
else()
|
||||||
@ -1290,21 +1290,21 @@ if (NOT INTERN_BUILD_MOBILE)
|
|||||||
# this, but since FindCUDA upstream is subsumed by first-class support
|
# this, but since FindCUDA upstream is subsumed by first-class support
|
||||||
# for CUDA language, it seemed not worth fixing.
|
# for CUDA language, it seemed not worth fixing.
|
||||||
|
|
||||||
IF (MSVC)
|
if(MSVC)
|
||||||
# we want to respect the standard, and we are bored of those **** .
|
# we want to respect the standard, and we are bored of those **** .
|
||||||
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE=1)
|
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE=1)
|
||||||
# skip unwanted includes from windows.h
|
# skip unwanted includes from windows.h
|
||||||
ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)
|
ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)
|
||||||
LIST(APPEND CUDA_NVCC_FLAGS "-Xcompiler /wd4819 -Xcompiler /wd4503 -Xcompiler /wd4190 -Xcompiler /wd4244 -Xcompiler /wd4251 -Xcompiler /wd4275 -Xcompiler /wd4522")
|
LIST(APPEND CUDA_NVCC_FLAGS "-Xcompiler /wd4819 -Xcompiler /wd4503 -Xcompiler /wd4190 -Xcompiler /wd4244 -Xcompiler /wd4251 -Xcompiler /wd4275 -Xcompiler /wd4522")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF (NOT MSVC)
|
if(NOT MSVC)
|
||||||
IF (CMAKE_VERSION VERSION_LESS "3.1")
|
if(CMAKE_VERSION VERSION_LESS "3.1")
|
||||||
SET(CMAKE_C_FLAGS "-std=c11 ${CMAKE_C_FLAGS}")
|
SET(CMAKE_C_FLAGS "-std=c11 ${CMAKE_C_FLAGS}")
|
||||||
ELSE ()
|
else()
|
||||||
SET(CMAKE_C_STANDARD 11)
|
SET(CMAKE_C_STANDARD 11)
|
||||||
ENDIF ()
|
endif()
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
LIST(APPEND CUDA_NVCC_FLAGS -Wno-deprecated-gpu-targets)
|
LIST(APPEND CUDA_NVCC_FLAGS -Wno-deprecated-gpu-targets)
|
||||||
LIST(APPEND CUDA_NVCC_FLAGS --expt-extended-lambda)
|
LIST(APPEND CUDA_NVCC_FLAGS --expt-extended-lambda)
|
||||||
@ -1315,38 +1315,38 @@ if (NOT INTERN_BUILD_MOBILE)
|
|||||||
|
|
||||||
LIST(APPEND CUDA_NVCC_FLAGS ${TORCH_NVCC_FLAGS})
|
LIST(APPEND CUDA_NVCC_FLAGS ${TORCH_NVCC_FLAGS})
|
||||||
LIST(APPEND CUDA_NVCC_FLAGS ${NVCC_FLAGS_EXTRA})
|
LIST(APPEND CUDA_NVCC_FLAGS ${NVCC_FLAGS_EXTRA})
|
||||||
IF (CMAKE_POSITION_INDEPENDENT_CODE AND NOT MSVC)
|
if(CMAKE_POSITION_INDEPENDENT_CODE AND NOT MSVC)
|
||||||
LIST(APPEND CUDA_NVCC_FLAGS "-Xcompiler" "-fPIC")
|
LIST(APPEND CUDA_NVCC_FLAGS "-Xcompiler" "-fPIC")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF (CUDA_HAS_FP16 OR NOT ${CUDA_VERSION} LESS 7.5)
|
if(CUDA_HAS_FP16 OR NOT ${CUDA_VERSION} LESS 7.5)
|
||||||
MESSAGE(STATUS "Found CUDA with FP16 support, compiling with torch.cuda.HalfTensor")
|
MESSAGE(STATUS "Found CUDA with FP16 support, compiling with torch.cuda.HalfTensor")
|
||||||
LIST(APPEND CUDA_NVCC_FLAGS "-DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__")
|
LIST(APPEND CUDA_NVCC_FLAGS "-DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__")
|
||||||
add_compile_options(-DCUDA_HAS_FP16=1)
|
add_compile_options(-DCUDA_HAS_FP16=1)
|
||||||
ELSE()
|
else()
|
||||||
MESSAGE(STATUS "Could not find CUDA with FP16 support, compiling without torch.CudaHalfTensor")
|
MESSAGE(STATUS "Could not find CUDA with FP16 support, compiling without torch.CudaHalfTensor")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
STRING(APPEND CMAKE_C_FLAGS_RELEASE " -DNDEBUG")
|
STRING(APPEND CMAKE_C_FLAGS_RELEASE " -DNDEBUG")
|
||||||
STRING(APPEND CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG")
|
STRING(APPEND CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG")
|
||||||
IF (NOT GENERATOR_IS_MULTI_CONFIG)
|
if(NOT GENERATOR_IS_MULTI_CONFIG)
|
||||||
IF (${CMAKE_BUILD_TYPE} STREQUAL "Release")
|
if(${CMAKE_BUILD_TYPE} STREQUAL "Release")
|
||||||
MESSAGE(STATUS "Adding -DNDEBUG to compile flags")
|
MESSAGE(STATUS "Adding -DNDEBUG to compile flags")
|
||||||
STRING(APPEND CMAKE_C_FLAGS " -DNDEBUG")
|
STRING(APPEND CMAKE_C_FLAGS " -DNDEBUG")
|
||||||
STRING(APPEND CMAKE_CXX_FLAGS " -DNDEBUG")
|
STRING(APPEND CMAKE_CXX_FLAGS " -DNDEBUG")
|
||||||
ELSE()
|
else()
|
||||||
MESSAGE(STATUS "Removing -DNDEBUG from compile flags")
|
MESSAGE(STATUS "Removing -DNDEBUG from compile flags")
|
||||||
STRING(REGEX REPLACE "[-/]DNDEBUG" "" CMAKE_C_FLAGS "" ${CMAKE_C_FLAGS})
|
STRING(REGEX REPLACE "[-/]DNDEBUG" "" CMAKE_C_FLAGS "" ${CMAKE_C_FLAGS})
|
||||||
STRING(REGEX REPLACE "[-/]DNDEBUG" "" CMAKE_CXX_FLAGS "" ${CMAKE_CXX_FLAGS})
|
STRING(REGEX REPLACE "[-/]DNDEBUG" "" CMAKE_CXX_FLAGS "" ${CMAKE_CXX_FLAGS})
|
||||||
ENDIF()
|
endif()
|
||||||
ENDIF()
|
endif()
|
||||||
STRING(REGEX REPLACE "[-/]DNDEBUG" "" CMAKE_C_FLAGS_DEBUG "" ${CMAKE_C_FLAGS_DEBUG})
|
STRING(REGEX REPLACE "[-/]DNDEBUG" "" CMAKE_C_FLAGS_DEBUG "" ${CMAKE_C_FLAGS_DEBUG})
|
||||||
STRING(REGEX REPLACE "[-/]DNDEBUG" "" CMAKE_CXX_FLAGS_DEBUG "" ${CMAKE_CXX_FLAGS_DEBUG})
|
STRING(REGEX REPLACE "[-/]DNDEBUG" "" CMAKE_CXX_FLAGS_DEBUG "" ${CMAKE_CXX_FLAGS_DEBUG})
|
||||||
|
|
||||||
SET(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE OFF)
|
SET(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE OFF)
|
||||||
|
|
||||||
FIND_PACKAGE(MAGMA)
|
FIND_PACKAGE(MAGMA)
|
||||||
IF (USE_CUDA AND MAGMA_FOUND)
|
if(USE_CUDA AND MAGMA_FOUND)
|
||||||
INCLUDE_DIRECTORIES(SYSTEM ${MAGMA_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(SYSTEM ${MAGMA_INCLUDE_DIR})
|
||||||
SET(CMAKE_REQUIRED_INCLUDES "${MAGMA_INCLUDE_DIR};${CUDA_INCLUDE_DIRS}")
|
SET(CMAKE_REQUIRED_INCLUDES "${MAGMA_INCLUDE_DIR};${CUDA_INCLUDE_DIRS}")
|
||||||
INCLUDE(CheckPrototypeDefinition)
|
INCLUDE(CheckPrototypeDefinition)
|
||||||
@ -1355,50 +1355,50 @@ if (NOT INTERN_BUILD_MOBILE)
|
|||||||
"0"
|
"0"
|
||||||
"magma.h"
|
"magma.h"
|
||||||
MAGMA_V2)
|
MAGMA_V2)
|
||||||
IF (MAGMA_V2)
|
if(MAGMA_V2)
|
||||||
add_definitions(-DMAGMA_V2)
|
add_definitions(-DMAGMA_V2)
|
||||||
ENDIF (MAGMA_V2)
|
endif(MAGMA_V2)
|
||||||
|
|
||||||
SET(USE_MAGMA 1)
|
SET(USE_MAGMA 1)
|
||||||
MESSAGE(STATUS "Compiling with MAGMA support")
|
MESSAGE(STATUS "Compiling with MAGMA support")
|
||||||
MESSAGE(STATUS "MAGMA INCLUDE DIRECTORIES: ${MAGMA_INCLUDE_DIR}")
|
MESSAGE(STATUS "MAGMA INCLUDE DIRECTORIES: ${MAGMA_INCLUDE_DIR}")
|
||||||
MESSAGE(STATUS "MAGMA LIBRARIES: ${MAGMA_LIBRARIES}")
|
MESSAGE(STATUS "MAGMA LIBRARIES: ${MAGMA_LIBRARIES}")
|
||||||
MESSAGE(STATUS "MAGMA V2 check: ${MAGMA_V2}")
|
MESSAGE(STATUS "MAGMA V2 check: ${MAGMA_V2}")
|
||||||
ELSE()
|
else()
|
||||||
MESSAGE(STATUS "MAGMA not found. Compiling without MAGMA support")
|
MESSAGE(STATUS "MAGMA not found. Compiling without MAGMA support")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# ARM specific flags
|
# ARM specific flags
|
||||||
FIND_PACKAGE(ARM)
|
FIND_PACKAGE(ARM)
|
||||||
IF (ASIMD_FOUND)
|
if(ASIMD_FOUND)
|
||||||
MESSAGE(STATUS "asimd/Neon found with compiler flag : -D__NEON__")
|
MESSAGE(STATUS "asimd/Neon found with compiler flag : -D__NEON__")
|
||||||
add_compile_options(-D__NEON__)
|
add_compile_options(-D__NEON__)
|
||||||
ELSEIF (NEON_FOUND)
|
elseif(NEON_FOUND)
|
||||||
MESSAGE(STATUS "Neon found with compiler flag : -mfpu=neon -D__NEON__")
|
MESSAGE(STATUS "Neon found with compiler flag : -mfpu=neon -D__NEON__")
|
||||||
add_compile_options(-mfpu=neon -D__NEON__)
|
add_compile_options(-mfpu=neon -D__NEON__)
|
||||||
ENDIF ()
|
endif()
|
||||||
IF (CORTEXA8_FOUND)
|
if(CORTEXA8_FOUND)
|
||||||
MESSAGE(STATUS "Cortex-A8 Found with compiler flag : -mcpu=cortex-a8")
|
MESSAGE(STATUS "Cortex-A8 Found with compiler flag : -mcpu=cortex-a8")
|
||||||
add_compile_options(-mcpu=cortex-a8 -fprefetch-loop-arrays)
|
add_compile_options(-mcpu=cortex-a8 -fprefetch-loop-arrays)
|
||||||
ENDIF ()
|
endif()
|
||||||
IF (CORTEXA9_FOUND)
|
if(CORTEXA9_FOUND)
|
||||||
MESSAGE(STATUS "Cortex-A9 Found with compiler flag : -mcpu=cortex-a9")
|
MESSAGE(STATUS "Cortex-A9 Found with compiler flag : -mcpu=cortex-a9")
|
||||||
add_compile_options(-mcpu=cortex-a9)
|
add_compile_options(-mcpu=cortex-a9)
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
CHECK_INCLUDE_FILE(cpuid.h HAVE_CPUID_H)
|
CHECK_INCLUDE_FILE(cpuid.h HAVE_CPUID_H)
|
||||||
# Check for a cpuid intrinsic
|
# Check for a cpuid intrinsic
|
||||||
IF (HAVE_CPUID_H)
|
if(HAVE_CPUID_H)
|
||||||
CHECK_C_SOURCE_COMPILES("#include <cpuid.h>
|
CHECK_C_SOURCE_COMPILES("#include <cpuid.h>
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
unsigned int eax, ebx, ecx, edx;
|
unsigned int eax, ebx, ecx, edx;
|
||||||
return __get_cpuid(0, &eax, &ebx, &ecx, &edx);
|
return __get_cpuid(0, &eax, &ebx, &ecx, &edx);
|
||||||
}" HAVE_GCC_GET_CPUID)
|
}" HAVE_GCC_GET_CPUID)
|
||||||
ENDIF()
|
endif()
|
||||||
IF (HAVE_GCC_GET_CPUID)
|
if(HAVE_GCC_GET_CPUID)
|
||||||
add_compile_options(-DHAVE_GCC_GET_CPUID)
|
add_compile_options(-DHAVE_GCC_GET_CPUID)
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
CHECK_C_SOURCE_COMPILES("#include <stdint.h>
|
CHECK_C_SOURCE_COMPILES("#include <stdint.h>
|
||||||
static inline void cpuid(uint32_t *eax, uint32_t *ebx,
|
static inline void cpuid(uint32_t *eax, uint32_t *ebx,
|
||||||
@ -1414,33 +1414,33 @@ if (NOT INTERN_BUILD_MOBILE)
|
|||||||
return 0;
|
return 0;
|
||||||
}" NO_GCC_EBX_FPIC_BUG)
|
}" NO_GCC_EBX_FPIC_BUG)
|
||||||
|
|
||||||
IF (NOT NO_GCC_EBX_FPIC_BUG)
|
if(NOT NO_GCC_EBX_FPIC_BUG)
|
||||||
add_compile_options(-DUSE_GCC_GET_CPUID)
|
add_compile_options(-DUSE_GCC_GET_CPUID)
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
FIND_PACKAGE(AVX) # checks AVX and AVX2
|
FIND_PACKAGE(AVX) # checks AVX and AVX2
|
||||||
|
|
||||||
# we don't set -mavx and -mavx2 flags globally, but only for specific files
|
# we don't set -mavx and -mavx2 flags globally, but only for specific files
|
||||||
# however, we want to enable the AVX codepaths, so we still need to
|
# however, we want to enable the AVX codepaths, so we still need to
|
||||||
# add USE_AVX and USE_AVX2 macro defines
|
# add USE_AVX and USE_AVX2 macro defines
|
||||||
IF (C_AVX_FOUND)
|
if(C_AVX_FOUND)
|
||||||
MESSAGE(STATUS "AVX compiler support found")
|
MESSAGE(STATUS "AVX compiler support found")
|
||||||
add_compile_options(-DUSE_AVX)
|
add_compile_options(-DUSE_AVX)
|
||||||
ENDIF()
|
endif()
|
||||||
IF (C_AVX2_FOUND)
|
if(C_AVX2_FOUND)
|
||||||
MESSAGE(STATUS "AVX2 compiler support found")
|
MESSAGE(STATUS "AVX2 compiler support found")
|
||||||
add_compile_options(-DUSE_AVX2)
|
add_compile_options(-DUSE_AVX2)
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF (WIN32 AND NOT CYGWIN)
|
if(WIN32 AND NOT CYGWIN)
|
||||||
SET(BLAS_INSTALL_LIBRARIES "OFF"
|
SET(BLAS_INSTALL_LIBRARIES "OFF"
|
||||||
CACHE BOOL "Copy the required BLAS DLLs into the TH install dirs")
|
CACHE BOOL "Copy the required BLAS DLLs into the TH install dirs")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
FIND_PACKAGE(LAPACK)
|
FIND_PACKAGE(LAPACK)
|
||||||
IF (LAPACK_FOUND)
|
if(LAPACK_FOUND)
|
||||||
SET(USE_LAPACK 1)
|
SET(USE_LAPACK 1)
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
if(NOT USE_CUDA)
|
if(NOT USE_CUDA)
|
||||||
message("disabling CUDA because NOT USE_CUDA is set")
|
message("disabling CUDA because NOT USE_CUDA is set")
|
||||||
@ -1449,89 +1449,89 @@ if (NOT INTERN_BUILD_MOBILE)
|
|||||||
SET(AT_CUDA_ENABLED 1)
|
SET(AT_CUDA_ENABLED 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
IF (NOT USE_CUDNN)
|
if(NOT USE_CUDNN)
|
||||||
MESSAGE(STATUS "USE_CUDNN is set to 0. Compiling without cuDNN support")
|
MESSAGE(STATUS "USE_CUDNN is set to 0. Compiling without cuDNN support")
|
||||||
set(AT_CUDNN_ENABLED 0)
|
set(AT_CUDNN_ENABLED 0)
|
||||||
ELSEIF (NOT CUDNN_FOUND)
|
elseif(NOT CUDNN_FOUND)
|
||||||
MESSAGE(WARNING "CuDNN not found. Compiling without CuDNN support")
|
MESSAGE(WARNING "CuDNN not found. Compiling without CuDNN support")
|
||||||
set(AT_CUDNN_ENABLED 0)
|
set(AT_CUDNN_ENABLED 0)
|
||||||
ELSE()
|
else()
|
||||||
include_directories(SYSTEM ${CUDNN_INCLUDE_PATH})
|
include_directories(SYSTEM ${CUDNN_INCLUDE_PATH})
|
||||||
set(AT_CUDNN_ENABLED 1)
|
set(AT_CUDNN_ENABLED 1)
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF (NOT USE_ROCM)
|
if(NOT USE_ROCM)
|
||||||
message("disabling ROCM because NOT USE_ROCM is set")
|
message("disabling ROCM because NOT USE_ROCM is set")
|
||||||
MESSAGE(STATUS "MIOpen not found. Compiling without MIOpen support")
|
MESSAGE(STATUS "MIOpen not found. Compiling without MIOpen support")
|
||||||
set(AT_ROCM_ENABLED 0)
|
set(AT_ROCM_ENABLED 0)
|
||||||
ELSE()
|
else()
|
||||||
INCLUDE_DIRECTORIES(BEFORE ${MIOPEN_INCLUDE_DIRS})
|
INCLUDE_DIRECTORIES(BEFORE ${MIOPEN_INCLUDE_DIRS})
|
||||||
set(AT_ROCM_ENABLED 1)
|
set(AT_ROCM_ENABLED 1)
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
SET(AT_MKLDNN_ENABLED 0)
|
SET(AT_MKLDNN_ENABLED 0)
|
||||||
SET(CAFFE2_USE_MKLDNN OFF)
|
SET(CAFFE2_USE_MKLDNN OFF)
|
||||||
IF (USE_MKLDNN)
|
if(USE_MKLDNN)
|
||||||
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/public/mkldnn.cmake)
|
INCLUDE(${CMAKE_CURRENT_LIST_DIR}/public/mkldnn.cmake)
|
||||||
IF(MKLDNN_FOUND)
|
if(MKLDNN_FOUND)
|
||||||
SET(AT_MKLDNN_ENABLED 1)
|
SET(AT_MKLDNN_ENABLED 1)
|
||||||
INCLUDE_DIRECTORIES(AFTER SYSTEM ${MKLDNN_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(AFTER SYSTEM ${MKLDNN_INCLUDE_DIR})
|
||||||
IF(BUILD_CAFFE2_OPS)
|
if(BUILD_CAFFE2_OPS)
|
||||||
SET(CAFFE2_USE_MKLDNN ON)
|
SET(CAFFE2_USE_MKLDNN ON)
|
||||||
LIST(APPEND Caffe2_PUBLIC_DEPENDENCY_LIBS caffe2::mkldnn)
|
LIST(APPEND Caffe2_PUBLIC_DEPENDENCY_LIBS caffe2::mkldnn)
|
||||||
ENDIF(BUILD_CAFFE2_OPS)
|
endif(BUILD_CAFFE2_OPS)
|
||||||
ELSE()
|
else()
|
||||||
MESSAGE(WARNING "MKLDNN could not be found.")
|
MESSAGE(WARNING "MKLDNN could not be found.")
|
||||||
ENDIF()
|
endif()
|
||||||
ELSE()
|
else()
|
||||||
MESSAGE("disabling MKLDNN because USE_MKLDNN is not set")
|
MESSAGE("disabling MKLDNN because USE_MKLDNN is not set")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
INCLUDE(CheckLibraryExists)
|
INCLUDE(CheckLibraryExists)
|
||||||
# https://github.com/libgit2/libgit2/issues/2128#issuecomment-35649830
|
# https://github.com/libgit2/libgit2/issues/2128#issuecomment-35649830
|
||||||
CHECK_LIBRARY_EXISTS(rt clock_gettime "time.h" NEED_LIBRT)
|
CHECK_LIBRARY_EXISTS(rt clock_gettime "time.h" NEED_LIBRT)
|
||||||
IF(NEED_LIBRT)
|
if(NEED_LIBRT)
|
||||||
list(APPEND Caffe2_DEPENDENCY_LIBS rt)
|
list(APPEND Caffe2_DEPENDENCY_LIBS rt)
|
||||||
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} rt)
|
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} rt)
|
||||||
ENDIF(NEED_LIBRT)
|
endif(NEED_LIBRT)
|
||||||
ENDIF(UNIX AND NOT APPLE)
|
endif(UNIX AND NOT APPLE)
|
||||||
|
|
||||||
IF(UNIX)
|
if(UNIX)
|
||||||
SET(CMAKE_EXTRA_INCLUDE_FILES "sys/mman.h")
|
SET(CMAKE_EXTRA_INCLUDE_FILES "sys/mman.h")
|
||||||
CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP)
|
CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP)
|
||||||
IF(HAVE_MMAP)
|
if(HAVE_MMAP)
|
||||||
ADD_DEFINITIONS(-DHAVE_MMAP=1)
|
ADD_DEFINITIONS(-DHAVE_MMAP=1)
|
||||||
ENDIF(HAVE_MMAP)
|
endif(HAVE_MMAP)
|
||||||
# done for lseek: https://www.gnu.org/software/libc/manual/html_node/File-Position-Primitive.html
|
# done for lseek: https://www.gnu.org/software/libc/manual/html_node/File-Position-Primitive.html
|
||||||
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
|
ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
|
||||||
CHECK_FUNCTION_EXISTS(shm_open HAVE_SHM_OPEN)
|
CHECK_FUNCTION_EXISTS(shm_open HAVE_SHM_OPEN)
|
||||||
IF(HAVE_SHM_OPEN)
|
if(HAVE_SHM_OPEN)
|
||||||
ADD_DEFINITIONS(-DHAVE_SHM_OPEN=1)
|
ADD_DEFINITIONS(-DHAVE_SHM_OPEN=1)
|
||||||
ENDIF(HAVE_SHM_OPEN)
|
endif(HAVE_SHM_OPEN)
|
||||||
CHECK_FUNCTION_EXISTS(shm_unlink HAVE_SHM_UNLINK)
|
CHECK_FUNCTION_EXISTS(shm_unlink HAVE_SHM_UNLINK)
|
||||||
IF(HAVE_SHM_UNLINK)
|
if(HAVE_SHM_UNLINK)
|
||||||
ADD_DEFINITIONS(-DHAVE_SHM_UNLINK=1)
|
ADD_DEFINITIONS(-DHAVE_SHM_UNLINK=1)
|
||||||
ENDIF(HAVE_SHM_UNLINK)
|
endif(HAVE_SHM_UNLINK)
|
||||||
CHECK_FUNCTION_EXISTS(malloc_usable_size HAVE_MALLOC_USABLE_SIZE)
|
CHECK_FUNCTION_EXISTS(malloc_usable_size HAVE_MALLOC_USABLE_SIZE)
|
||||||
IF(HAVE_MALLOC_USABLE_SIZE)
|
if(HAVE_MALLOC_USABLE_SIZE)
|
||||||
ADD_DEFINITIONS(-DHAVE_MALLOC_USABLE_SIZE=1)
|
ADD_DEFINITIONS(-DHAVE_MALLOC_USABLE_SIZE=1)
|
||||||
ENDIF(HAVE_MALLOC_USABLE_SIZE)
|
endif(HAVE_MALLOC_USABLE_SIZE)
|
||||||
ENDIF(UNIX)
|
endif(UNIX)
|
||||||
|
|
||||||
ADD_DEFINITIONS(-DMINIZ_DISABLE_ZIP_READER_CRC32_CHECKS)
|
ADD_DEFINITIONS(-DMINIZ_DISABLE_ZIP_READER_CRC32_CHECKS)
|
||||||
|
|
||||||
# Is __thread supported?
|
# Is __thread supported?
|
||||||
IF(NOT MSVC)
|
if(NOT MSVC)
|
||||||
CHECK_C_SOURCE_COMPILES("static __thread int x = 1; int main() { return x; }" C_HAS_THREAD)
|
CHECK_C_SOURCE_COMPILES("static __thread int x = 1; int main() { return x; }" C_HAS_THREAD)
|
||||||
ELSE(NOT MSVC)
|
else(NOT MSVC)
|
||||||
CHECK_C_SOURCE_COMPILES("static __declspec( thread ) int x = 1; int main() { return x; }" C_HAS_THREAD)
|
CHECK_C_SOURCE_COMPILES("static __declspec( thread ) int x = 1; int main() { return x; }" C_HAS_THREAD)
|
||||||
ENDIF(NOT MSVC)
|
endif(NOT MSVC)
|
||||||
IF(NOT C_HAS_THREAD)
|
if(NOT C_HAS_THREAD)
|
||||||
MESSAGE(STATUS "Warning: __thread is not supported, generating thread-unsafe code")
|
MESSAGE(STATUS "Warning: __thread is not supported, generating thread-unsafe code")
|
||||||
ELSE(NOT C_HAS_THREAD)
|
else(NOT C_HAS_THREAD)
|
||||||
add_compile_options(-DTH_HAVE_THREAD)
|
add_compile_options(-DTH_HAVE_THREAD)
|
||||||
ENDIF(NOT C_HAS_THREAD)
|
endif(NOT C_HAS_THREAD)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1,125 +1,125 @@
|
|||||||
set(PYTORCH_FOUND_HIP FALSE)
|
set(PYTORCH_FOUND_HIP FALSE)
|
||||||
|
|
||||||
IF(NOT DEFINED ENV{ROCM_PATH})
|
if(NOT DEFINED ENV{ROCM_PATH})
|
||||||
SET(ROCM_PATH /opt/rocm)
|
SET(ROCM_PATH /opt/rocm)
|
||||||
ELSE()
|
else()
|
||||||
SET(ROCM_PATH $ENV{ROCM_PATH})
|
SET(ROCM_PATH $ENV{ROCM_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# HIP_PATH
|
# HIP_PATH
|
||||||
IF(NOT DEFINED ENV{HIP_PATH})
|
if(NOT DEFINED ENV{HIP_PATH})
|
||||||
SET(HIP_PATH ${ROCM_PATH}/hip)
|
SET(HIP_PATH ${ROCM_PATH}/hip)
|
||||||
ELSE()
|
else()
|
||||||
SET(HIP_PATH $ENV{HIP_PATH})
|
SET(HIP_PATH $ENV{HIP_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF(NOT EXISTS ${HIP_PATH})
|
if(NOT EXISTS ${HIP_PATH})
|
||||||
return()
|
return()
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# HCC_PATH
|
# HCC_PATH
|
||||||
IF(NOT DEFINED ENV{HCC_PATH})
|
if(NOT DEFINED ENV{HCC_PATH})
|
||||||
SET(HCC_PATH ${ROCM_PATH}/hcc)
|
SET(HCC_PATH ${ROCM_PATH}/hcc)
|
||||||
ELSE()
|
else()
|
||||||
SET(HCC_PATH $ENV{HCC_PATH})
|
SET(HCC_PATH $ENV{HCC_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# HSA_PATH
|
# HSA_PATH
|
||||||
IF(NOT DEFINED ENV{HSA_PATH})
|
if(NOT DEFINED ENV{HSA_PATH})
|
||||||
SET(HSA_PATH ${ROCM_PATH}/hsa)
|
SET(HSA_PATH ${ROCM_PATH}/hsa)
|
||||||
ELSE()
|
else()
|
||||||
SET(HSA_PATH $ENV{HSA_PATH})
|
SET(HSA_PATH $ENV{HSA_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# ROCBLAS_PATH
|
# ROCBLAS_PATH
|
||||||
IF(NOT DEFINED ENV{ROCBLAS_PATH})
|
if(NOT DEFINED ENV{ROCBLAS_PATH})
|
||||||
SET(ROCBLAS_PATH ${ROCM_PATH}/rocblas)
|
SET(ROCBLAS_PATH ${ROCM_PATH}/rocblas)
|
||||||
ELSE()
|
else()
|
||||||
SET(ROCBLAS_PATH $ENV{ROCBLAS_PATH})
|
SET(ROCBLAS_PATH $ENV{ROCBLAS_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# ROCFFT_PATH
|
# ROCFFT_PATH
|
||||||
IF(NOT DEFINED ENV{ROCFFT_PATH})
|
if(NOT DEFINED ENV{ROCFFT_PATH})
|
||||||
SET(ROCFFT_PATH ${ROCM_PATH}/rocfft)
|
SET(ROCFFT_PATH ${ROCM_PATH}/rocfft)
|
||||||
ELSE()
|
else()
|
||||||
SET(ROCFFT_PATH $ENV{ROCFFT_PATH})
|
SET(ROCFFT_PATH $ENV{ROCFFT_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# HIPSPARSE_PATH
|
# HIPSPARSE_PATH
|
||||||
IF(NOT DEFINED ENV{HIPSPARSE_PATH})
|
if(NOT DEFINED ENV{HIPSPARSE_PATH})
|
||||||
SET(HIPSPARSE_PATH ${ROCM_PATH}/hipsparse)
|
SET(HIPSPARSE_PATH ${ROCM_PATH}/hipsparse)
|
||||||
ELSE()
|
else()
|
||||||
SET(HIPSPARSE_PATH $ENV{HIPSPARSE_PATH})
|
SET(HIPSPARSE_PATH $ENV{HIPSPARSE_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# THRUST_PATH
|
# THRUST_PATH
|
||||||
IF(DEFINED ENV{THRUST_PATH})
|
if(DEFINED ENV{THRUST_PATH})
|
||||||
SET(THRUST_PATH $ENV{THRUST_PATH})
|
SET(THRUST_PATH $ENV{THRUST_PATH})
|
||||||
ELSE()
|
else()
|
||||||
SET(THRUST_PATH ${ROCM_PATH}/include)
|
SET(THRUST_PATH ${ROCM_PATH}/include)
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# HIPRAND_PATH
|
# HIPRAND_PATH
|
||||||
IF(NOT DEFINED ENV{HIPRAND_PATH})
|
if(NOT DEFINED ENV{HIPRAND_PATH})
|
||||||
SET(HIPRAND_PATH ${ROCM_PATH}/hiprand)
|
SET(HIPRAND_PATH ${ROCM_PATH}/hiprand)
|
||||||
ELSE()
|
else()
|
||||||
SET(HIPRAND_PATH $ENV{HIPRAND_PATH})
|
SET(HIPRAND_PATH $ENV{HIPRAND_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# ROCRAND_PATH
|
# ROCRAND_PATH
|
||||||
IF(NOT DEFINED ENV{ROCRAND_PATH})
|
if(NOT DEFINED ENV{ROCRAND_PATH})
|
||||||
SET(ROCRAND_PATH ${ROCM_PATH}/rocrand)
|
SET(ROCRAND_PATH ${ROCM_PATH}/rocrand)
|
||||||
ELSE()
|
else()
|
||||||
SET(ROCRAND_PATH $ENV{ROCRAND_PATH})
|
SET(ROCRAND_PATH $ENV{ROCRAND_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# MIOPEN_PATH
|
# MIOPEN_PATH
|
||||||
IF(NOT DEFINED ENV{MIOPEN_PATH})
|
if(NOT DEFINED ENV{MIOPEN_PATH})
|
||||||
SET(MIOPEN_PATH ${ROCM_PATH}/miopen)
|
SET(MIOPEN_PATH ${ROCM_PATH}/miopen)
|
||||||
ELSE()
|
else()
|
||||||
SET(MIOPEN_PATH $ENV{MIOPEN_PATH})
|
SET(MIOPEN_PATH $ENV{MIOPEN_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# RCCL_PATH
|
# RCCL_PATH
|
||||||
IF(NOT DEFINED ENV{RCCL_PATH})
|
if(NOT DEFINED ENV{RCCL_PATH})
|
||||||
SET(RCCL_PATH ${ROCM_PATH}/rccl)
|
SET(RCCL_PATH ${ROCM_PATH}/rccl)
|
||||||
ELSE()
|
else()
|
||||||
SET(RCCL_PATH $ENV{RCCL_PATH})
|
SET(RCCL_PATH $ENV{RCCL_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# ROCPRIM_PATH
|
# ROCPRIM_PATH
|
||||||
IF(NOT DEFINED ENV{ROCPRIM_PATH})
|
if(NOT DEFINED ENV{ROCPRIM_PATH})
|
||||||
SET(ROCPRIM_PATH ${ROCM_PATH}/rocprim)
|
SET(ROCPRIM_PATH ${ROCM_PATH}/rocprim)
|
||||||
ELSE()
|
else()
|
||||||
SET(ROCPRIM_PATH $ENV{ROCPRIM_PATH})
|
SET(ROCPRIM_PATH $ENV{ROCPRIM_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# HIPCUB_PATH
|
# HIPCUB_PATH
|
||||||
IF(NOT DEFINED ENV{HIPCUB_PATH})
|
if(NOT DEFINED ENV{HIPCUB_PATH})
|
||||||
SET(HIPCUB_PATH ${ROCM_PATH}/hipcub)
|
SET(HIPCUB_PATH ${ROCM_PATH}/hipcub)
|
||||||
ELSE()
|
else()
|
||||||
SET(HIPCUB_PATH $ENV{HIPCUB_PATH})
|
SET(HIPCUB_PATH $ENV{HIPCUB_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# ROCTHRUST_PATH
|
# ROCTHRUST_PATH
|
||||||
IF(NOT DEFINED ENV{ROCTHRUST_PATH})
|
if(NOT DEFINED ENV{ROCTHRUST_PATH})
|
||||||
SET(ROCTHRUST_PATH ${ROCM_PATH}/rocthrust)
|
SET(ROCTHRUST_PATH ${ROCM_PATH}/rocthrust)
|
||||||
ELSE()
|
else()
|
||||||
SET(ROCTHRUST_PATH $ENV{ROCTHRUST_PATH})
|
SET(ROCTHRUST_PATH $ENV{ROCTHRUST_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# ROCTRACER_PATH
|
# ROCTRACER_PATH
|
||||||
IF(NOT DEFINED ENV{ROCTRACER_PATH})
|
if(NOT DEFINED ENV{ROCTRACER_PATH})
|
||||||
SET(ROCTRACER_PATH ${ROCM_PATH}/roctracer)
|
SET(ROCTRACER_PATH ${ROCM_PATH}/roctracer)
|
||||||
ELSE()
|
else()
|
||||||
SET(ROCTRACER_PATH $ENV{ROCTRACER_PATH})
|
SET(ROCTRACER_PATH $ENV{ROCTRACER_PATH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
IF(NOT DEFINED ENV{PYTORCH_ROCM_ARCH})
|
if(NOT DEFINED ENV{PYTORCH_ROCM_ARCH})
|
||||||
SET(PYTORCH_ROCM_ARCH gfx803;gfx900;gfx906;gfx908)
|
SET(PYTORCH_ROCM_ARCH gfx803;gfx900;gfx906;gfx908)
|
||||||
ELSE()
|
else()
|
||||||
SET(PYTORCH_ROCM_ARCH $ENV{PYTORCH_ROCM_ARCH})
|
SET(PYTORCH_ROCM_ARCH $ENV{PYTORCH_ROCM_ARCH})
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# Add HIP to the CMAKE Module Path
|
# Add HIP to the CMAKE Module Path
|
||||||
set(CMAKE_MODULE_PATH ${HIP_PATH}/cmake ${CMAKE_MODULE_PATH})
|
set(CMAKE_MODULE_PATH ${HIP_PATH}/cmake ${CMAKE_MODULE_PATH})
|
||||||
@ -135,7 +135,7 @@ endmacro()
|
|||||||
# Find the HIP Package
|
# Find the HIP Package
|
||||||
find_package_and_print_version(HIP 1.0)
|
find_package_and_print_version(HIP 1.0)
|
||||||
|
|
||||||
IF(HIP_FOUND)
|
if(HIP_FOUND)
|
||||||
set(PYTORCH_FOUND_HIP TRUE)
|
set(PYTORCH_FOUND_HIP TRUE)
|
||||||
|
|
||||||
message("\n***** Library versions from dpkg *****\n")
|
message("\n***** Library versions from dpkg *****\n")
|
||||||
@ -196,4 +196,4 @@ IF(HIP_FOUND)
|
|||||||
set(hcc_INCLUDE_DIRS ${HCC_PATH}/include)
|
set(hcc_INCLUDE_DIRS ${HCC_PATH}/include)
|
||||||
set(hsa_INCLUDE_DIRS ${HSA_PATH}/include)
|
set(hsa_INCLUDE_DIRS ${HSA_PATH}/include)
|
||||||
|
|
||||||
ENDIF()
|
endif()
|
||||||
|
@ -160,13 +160,13 @@ endfunction()
|
|||||||
# torch_cuda_based_add_executable(cuda_target)
|
# torch_cuda_based_add_executable(cuda_target)
|
||||||
#
|
#
|
||||||
macro(torch_cuda_based_add_executable cuda_target)
|
macro(torch_cuda_based_add_executable cuda_target)
|
||||||
IF (USE_ROCM)
|
if(USE_ROCM)
|
||||||
hip_add_executable(${cuda_target} ${ARGN})
|
hip_add_executable(${cuda_target} ${ARGN})
|
||||||
ELSEIF(USE_CUDA)
|
elseif(USE_CUDA)
|
||||||
cuda_add_executable(${cuda_target} ${ARGN})
|
cuda_add_executable(${cuda_target} ${ARGN})
|
||||||
ELSE()
|
else()
|
||||||
|
|
||||||
ENDIF()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
@ -176,12 +176,12 @@ endmacro()
|
|||||||
# torch_cuda_based_add_library(cuda_target)
|
# torch_cuda_based_add_library(cuda_target)
|
||||||
#
|
#
|
||||||
macro(torch_cuda_based_add_library cuda_target)
|
macro(torch_cuda_based_add_library cuda_target)
|
||||||
IF (USE_ROCM)
|
if(USE_ROCM)
|
||||||
hip_add_library(${cuda_target} ${ARGN})
|
hip_add_library(${cuda_target} ${ARGN})
|
||||||
ELSEIF(USE_CUDA)
|
elseif(USE_CUDA)
|
||||||
cuda_add_library(${cuda_target} ${ARGN})
|
cuda_add_library(${cuda_target} ${ARGN})
|
||||||
ELSE()
|
else()
|
||||||
ENDIF()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,22 +5,22 @@ CMAKE_POLICY(VERSION 2.6)
|
|||||||
set(TORCH_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../../)
|
set(TORCH_ROOT ${CMAKE_CURRENT_LIST_DIR}/../../../)
|
||||||
include(${TORCH_ROOT}/cmake/public/threads.cmake)
|
include(${TORCH_ROOT}/cmake/public/threads.cmake)
|
||||||
|
|
||||||
IF(NOT LIBSHM_INSTALL_LIB_SUBDIR)
|
if(NOT LIBSHM_INSTALL_LIB_SUBDIR)
|
||||||
SET(LIBSHM_INSTALL_LIB_SUBDIR "lib" CACHE PATH "libshm install library directory")
|
SET(LIBSHM_INSTALL_LIB_SUBDIR "lib" CACHE PATH "libshm install library directory")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
# Flags
|
# Flags
|
||||||
# When using MSVC
|
# When using MSVC
|
||||||
IF(MSVC)
|
if(MSVC)
|
||||||
# we want to respect the standard, and we are bored of those **** .
|
# we want to respect the standard, and we are bored of those **** .
|
||||||
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE=1)
|
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE=1)
|
||||||
ENDIF(MSVC)
|
endif(MSVC)
|
||||||
|
|
||||||
IF (CMAKE_VERSION VERSION_LESS "3.1")
|
if(CMAKE_VERSION VERSION_LESS "3.1")
|
||||||
SET(CMAKE_CXX_FLAGS "-std=c++14 ${CMAKE_CXX_FLAGS}")
|
SET(CMAKE_CXX_FLAGS "-std=c++14 ${CMAKE_CXX_FLAGS}")
|
||||||
ELSE ()
|
else()
|
||||||
SET(CMAKE_CXX_STANDARD 14)
|
SET(CMAKE_CXX_STANDARD 14)
|
||||||
ENDIF ()
|
endif()
|
||||||
|
|
||||||
ADD_LIBRARY(shm SHARED core.cpp)
|
ADD_LIBRARY(shm SHARED core.cpp)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
IF(NOT LIBSHM_INSTALL_LIB_SUBDIR)
|
if(NOT LIBSHM_INSTALL_LIB_SUBDIR)
|
||||||
SET(LIBSHM_INSTALL_BIN_SUBDIR "bin" CACHE PATH "libshm install binary directory")
|
SET(LIBSHM_INSTALL_BIN_SUBDIR "bin" CACHE PATH "libshm install binary directory")
|
||||||
SET(LIBSHM_INSTALL_LIB_SUBDIR "lib" CACHE PATH "libshm install library directory")
|
SET(LIBSHM_INSTALL_LIB_SUBDIR "lib" CACHE PATH "libshm install library directory")
|
||||||
ENDIF()
|
endif()
|
||||||
|
|
||||||
ADD_LIBRARY(shm SHARED core.cpp)
|
ADD_LIBRARY(shm SHARED core.cpp)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user