我正在学习一些为CUDA(v6.5)成功编译的程序 . 但是,当我切换到OpenMP时,我收到以下错误:

错误9错误C2668:'thrust :: raw_reference_cast':模糊调用重载函数C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v6.5 \ include \ thrust \ detail \ function.h 55 1错误10错误C2780 :'enable_if_non_const_reference_or_tuple_of_iterator_references :: type> :: type thrust :: detail :: host_unary_transform_functor :: operator()(Tuple)':需要1个参数 - 0提供C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v6.5 \ include \ thrust \ detail \ function.h 55 1错误11错误MSB3721:命令“”C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v6.5 \ bin \ nvcc.exe“-gencode = arch = compute_20, code = \“sm_20,compute_20 \” - use-local-env --cl-version 2013 -ccbin“C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ bin \ x86_amd64”-IC:\ Boost -I“C:\ Program Files(x86)\ Microsoft SDKs \ MPI \ Include”-I“C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v6.5 \ include”-I“C:\ Program Files \ NVIDIA GPU计算工具包\ CUDA \ v6.5 \包含“--keep-dir x64 \ Debug-OMP(home)-maxrregcount = 0 - 机器64 --compile -cudart static -DTHRUST_DEVICE_SYSTEM = THRUST_DEVICE_SYSTEM_OMP -DENABLE_LOGGING -DENABLE_DEBUG_LOGGING -DWIN32 -DWIN64 -D_DEBUG -D_CONSOLE -DTHRUST_DEVICE_SYSTEM = THRUST_DEVICE_SYSTEM_OMP -D_MBCS -Xcompiler“/ EHsc / W3 / nologo / Od / Zi / RTC1 / MDd / openmp” -o build \ gopt-mpi \ x64 \ Debug-OMP(home)\ kernels_factory.cu.obj“C:\ ALI \ APOP \ gopt-mpi \ APOP_projects \ src \ cuda \ kernels_factory.cu”“退出,代码为2 . C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V120 \ BuildCustomizations \ CUDA 6.5.targets 593 9

我在Windows,Visual Studio 13社区下工作,并根据https://github.com/thrust/thrust/wiki/Device-Backends切换到OpenMP . 我对项目属性进行了两处更改,包括CUDA C / C,Host:

1.“其他编译器选项”设置为“/ openmp”

2.“预处理程序定义”设置为THRUST_DEVICE_SYSTEM = THRUST_DEVICE_SYSTEM_OMP

我该怎么做才能纠正这种情况?