Windows build failure on CUDA 11.2
See original GitHub issueThis fails with CuPy v8.6.0 and likely v9.0.0rc1 as well: https://github.com/conda-forge/cupy-feedstock/pull/113#issuecomment-807202827
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
cupy_thrust.cu
cupy/cuda/cupy_thrust.cu(145): error C3615: constexpr function 'thrust::less<thrust::complex<float>>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(148): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(148): note: see usage of '_cmp_less'
cupy/cuda/cupy_thrust.cu(157): error C3615: constexpr function 'thrust::less<thrust::complex<double>>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(160): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(160): note: see usage of '_cmp_less'
cupy/cuda/cupy_thrust.cu(169): error C3615: constexpr function 'thrust::less<thrust::tuple<unsigned __int64,thrust::complex<float>,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type>>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(172): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(172): note: see usage of '_tuple_less'
cupy/cuda/cupy_thrust.cu(181): error C3615: constexpr function 'thrust::less<thrust::tuple<unsigned __int64,thrust::complex<double>,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type>>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(184): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(184): note: see usage of '_tuple_less'
cupy/cuda/cupy_thrust.cu(223): error C3615: constexpr function 'thrust::less<float>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(226): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(226): note: see usage of '_real_less'
cupy/cuda/cupy_thrust.cu(235): error C3615: constexpr function 'thrust::less<double>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(238): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(238): note: see usage of '_real_less'
cupy/cuda/cupy_thrust.cu(247): error C3615: constexpr function 'thrust::less<thrust::tuple<unsigned __int64,float,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type>>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(250): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(250): note: see usage of '_tuple_less'
cupy/cuda/cupy_thrust.cu(259): error C3615: constexpr function 'thrust::less<thrust::tuple<unsigned __int64,double,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type>>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(262): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(262): note: see usage of '_tuple_less'
cupy/cuda/cupy_thrust.cu(287): error C3615: constexpr function 'thrust::less<__half>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(288): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(288): note: see usage of '_real_less'
cupy/cuda/cupy_thrust.cu(297): error C3615: constexpr function 'thrust::less<thrust::tuple<unsigned __int64,__half,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type,thrust::null_type>>::operator ()' cannot result in a constant expression
cupy/cuda/cupy_thrust.cu(300): note: failure was caused by call of undefined function or one not declared 'constexpr'
cupy/cuda/cupy_thrust.cu(300): note: see usage of '_tuple_less'
error: command 'D:\\bld\\cupy_1616682886118\\_build_env\\Library\\bin\\nvcc.bat' failed with exit status 2
My theory is that on our Windows CI we use VS2015, but on Conda-Forge we use VS2017. According to the VS docs the C3615 error is only raised with VS2017, so we didn’t catch it.
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (5 by maintainers)
Top Results From Across the Web
Cuda installation: error message with MVS 'build solution' step
I'm trying to install Cuda on my windows 10 x 64 bits 8 Go (Ram). I have a NVIDIA Quadro M620 which seems...
Read more >Error build darknet windows 10 cuda and cudnn 11.2
I want to build darknet for YOLOv4. my configuration is: win10, microsoft visual studio code 2019, openCV 4.5.1, cuda and cudnn 11.2.
Read more >Build pytorch 1.8 failure on Windows with cuda 11.2.2 - C++
It seems that calling std::floor from a cuda kernel function is forbidden. Is there anyone who can help me with this? Thanks!
Read more >CUDA 11.2 SDK Incorrect Detection Under Windows - Usage
It looks like that you haven't installed the Visual Studio CUDA integration components for CUDA 11.2 and therefore it is finding the old...
Read more >Install TensorFlow with pip
For the CPU-only build use the pip package named tensorflow-cpu . Here are the quick versions ... conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Yeah… see my earlier comment: https://github.com/cupy/cupy/pull/4713#issuecomment-784366574
I guess we should have used the value of
_MSVC_LANG
to determine use ofconstrexpr
, instead of just_WIN32
flag…? https://github.com/NVIDIA/thrust/blob/96a7e7b6bd99027c8450b11d02195a0209df6fa7/thrust/detail/config/cpp_dialect.h#L61-L69