贡献者: addis
cudaMemcpyToSymbol()
的第一个变量不能是非指针,atomicAdd()
找不到函数或 argument 不匹配,等。另外调试的时候并不能 host 和 device 一起调试,只能调试其中一个(用 nsight legacy)。所以现在还是用 Linux + Cuda-gdb
好了,除非以后把这些问题都解决。
<<<>>>
, 不过不影响运行。另一个问题是 CUDA 的 include path 需要手动添加 $(VC_IncludePath);$(WindowsSDK_IncludePath)
. 第三个问题是多个 .cu
文件的工程需要重启 Visual Studio 才能编译成功。
<stdio.h>
. 在 project property 里面找到 VC++ Directories -> Include Directories , 然后复制所有内容。
$(VC_IncludePath);$(WindowsSDK_IncludePath)
然后再打开 project properties 里面的 CUDA C/C++ > common > Additional Include Directories, 把这些内容复制进去即可。
#include <iostream>
#include <stdio.h>
using namespace std;
__global__
void kernel()
{
printf("hello!\n");
}
int main()
{
kernel<<<1,2>>>();
}
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.2
math.h
), $(VC_IncludePath);$(WindowsSDK_IncludePath)
这两个放到 CUDA >common 里面就绝对够了。如果还不行就说明 VS 没有安装完整,去 controll panel 里面 modify 一下,多添加一些 win10 SDK 什么的。
MatFile_win64
工程和 NR3 工程,用 CUDATest/template/
中的模板即可(按照 README 里面的步骤创建新工程).