Hi there,
I am working on a project on Windows which successfully included a ABC.hxx file in a .h file. It can be built in VS and run properly. I tried to include the same .hxx file in another .h file, by mimicking the previous work. The including section is like:
#include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
#include <typeinfo>
#include <cuda_fp16.h>
#include "inc/Core/Common/cuda/ABC.hxx"
But got the following error message during building solution in VS:
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\detail\device_synchronize.cuh(33,9): warning C4068: unknown pragma 'nv_exec_check_disable'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(89,55): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(104,55): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(166,40): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(176,49): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(210,37): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(221,9): error C2059: syntax error: 'volatile'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(229,5): error C3861: '__syncthreads': identifier not found
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(238,12): error C3861: '__syncthreads_and': identifier not found
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(247,12): error C3861: '__syncthreads_or': identifier not found
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(257,5): error C3861: '__syncwarp': identifier not found
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(268,12): error C3861: '__any_sync': identifier not found
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(281,12): error C3861: '__all_sync': identifier not found
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(294,12): error C3861: '__ballot_sync': identifier not found
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(308,9): error C2059: syntax error: 'volatile'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(324,9): error C2059: syntax error: 'volatile'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(340,9): error C2059: syntax error: 'volatile'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(356,10): error C3861: '__shfl_sync': identifier not found
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(368,35): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(379,39): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(389,9): error C2059: syntax error: 'volatile'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(397,9): error C2059: syntax error: 'volatile'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(418,34): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(429,34): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(471,39): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(481,39): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(491,39): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(501,39): error C2059: syntax error: ':'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(567,13): warning C4068: unknown pragma 'unroll'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(635,13): warning C4068: unknown pragma 'unroll'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(709,13): warning C4068: unknown pragma 'unroll'
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include\cub\util_ptx.cuh(735,13): warning C4068: unknown pragma 'unroll'
...
I am a little bit confused by the big difference in including the same ABC.hxx file. Can anyone explain why does it come out so differently?
CUDA11.6, Windows 11 64bit, Visual Studio 2019 (tool v142 for VS 2019)