未验证 提交 b1d74f11 编写于 作者: zhouweiwei2014's avatar zhouweiwei2014 提交者: GitHub

fix compil error on windows for cuda11.6/7/8 (#50199)

上级 3e5a6df4
......@@ -157,8 +157,14 @@ if(WIN32)
endforeach()
endif()
# NOTE(zhouwei): msvc max/min macro conflict with std::min/max, define NOMINMAX globally
# msvc max/min macro conflict with std::min/max, define NOMINMAX globally
add_definitions("-DNOMINMAX")
# 1. windows.h define 'small' cause CUDA11.6/11.7/11.8 's cub compile error,
# see https://github.com/microsoft/onnxruntime/issues/11227
# 2. WIN32_LEAN_AND_MEAN minimize the windows include files, avoid define 'small'
add_definitions(-DWIN32_LEAN_AND_MEAN)
# windows build turn off warnings, use parallel compiling.
foreach(
flag_var
......
......@@ -14,7 +14,7 @@
include(ExternalProject)
# Note(zhouwei): extern_cub has code __FILE_, If the path of extern_cub is changed,
# extern_cub has code __FILE_, If the path of extern_cub is changed,
# it will effect about 30+ cu files sccache hit and slow compile speed on windows.
# Therefore, a fixed CUB_PATH will be input to increase the sccache hit rate.
set(CUB_PATH
......@@ -25,7 +25,7 @@ set(CUB_PREFIX_DIR ${CUB_PATH})
set(CUB_REPOSITORY ${GIT_URL}/NVlabs/cub.git)
if(${CMAKE_CUDA_COMPILER_VERSION} GREATER_EQUAL 11.6)
# cuda_11.6.2_511.65‘s own cub is 1.15.0, which will cause compiling error in windows.
# cuda_11.6/11.7/11.8‘s own cub is 1.15.0, which will cause compiling error in windows.
set(CUB_TAG 1.16.0)
# cub 1.16.0 is not compitable with current thrust version
add_definitions(-DTHRUST_IGNORE_CUB_VERSION_CHECK)
......
......@@ -320,8 +320,7 @@ if(WITH_ONNXRUNTIME)
endif()
if(WITH_GPU)
if(${CMAKE_CUDA_COMPILER_VERSION} LESS 11.0
OR (WIN32 AND ${CMAKE_CUDA_COMPILER_VERSION} GREATER_EQUAL 11.6))
if(${CMAKE_CUDA_COMPILER_VERSION} LESS 11.0)
include(external/cub) # download cub
list(APPEND third_party_deps extern_cub)
endif()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册