Do not use plain thrust namespace in complex clone
Thrust has introduced a wrapped versioning namespace. This is colliding with the namespace introduced in cupy/complex
To avoid that issue pull in the thrust config and use the proper thrust namespace macro
/test mini
There are build- and run- time compilation failures regarding missing <cstddef> include. For run-time ones it's clear, since NVRTC doesn't have it, and we weren't expected to add it without the help of Jitify. We probably need to bump the CCCL submodule so that https://github.com/NVIDIA/cccl/pull/1081 is included (but I thought it already was?). For build-time ones, it's coming from NVCC/MSVC and is really odd. @miscco any chance you know MSVC may have issues in finding cstddef?
We probably need to bump the CCCL submodule so that NVIDIA/cccl#1081 is included (but I thought it already was?).
Ah I see, the submodule was pinned around last September, but that PR was merged in November, so it's not included yet.
@miscco any chance you know MSVC may have issues in finding
cstddef? Nope, not that I am aware of
Hi,
When putting this patch together with #8412 we get the following errors:
E cupy.cuda.compiler.CompileException: /home/scratch.ecastillo_gpu/em-cupy/cupy/_core/include/cupy/_cccl/thrust/thrust/detail/config/cpp_dialect.h(110): warning #161-D: unrecognized #pragma
E THRUST_COMPILER_DEPRECATION_SOFT(C++14, C++11);
E ^
E
E Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"
E
E /home/scratch.ecastillo_gpu/em-cupy/cupy/_core/include/cupy/_cccl/cub/cub/util_cpp_dialect.cuh(121): warning #161-D: unrecognized #pragma
E CUB_COMPILER_DEPRECATION_SOFT(C++14, C++11);
E ^
E
E /home/scratch.ecastillo_gpu/em-cupy/cupy/_core/include/cupy/_cccl/thrust/thrust/detail/type_deduction.h(24): catastrophic error: cannot open source file "utility"
E #include <utility>
E ^
E
E 1 catastrophic error detected in the compilation of "/tmp/tmp2fkhyeil/55f612cd56d79848fd91480a5789a2f2d0164e5b.cubin.cu".
E Compilation terminated.
Seems like the headers here are not nvrtc friendly :(
Added a fix to #8412 basically it disables including the thrust headers for nvrtc, cupy also compiles with the most recent CCCL commit
Note: This is included as part of #8412.
and will be backported to CuPy v13 in #8459.