[问题] cuda 环境设定与使用问题

楼主: hardman1110 (笨小孩)   2017-09-21 17:06:35
开发平台(Platform): (Ex: Win10, Linux, ...)
win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
visual studio community 2017
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
CUDA SDK 9.0
问题(Question):
目前参考版上文章的范例三来实作
https://www.ptt.cc/bbs/C_and_CPP/M.1226502649.A.87B.html
一开始编译遇到不认得__global__, cudaMalloc等函式,甚至是执行kernal
prob_idx<<<g,b>>>(d); 的 "<<<"
我分别加入了
#include <cuda_runtime.h>
#include "device_launch_parameters.h"
与参考以下网址解掉了
https://goo.gl/LFBhmS
但在最后关头还是遇到link error:
Error LNK2001 unresolved external symbol threadIdx
Error LNK2001 unresolved external symbol blockIdx
Error LNK2001 unresolved external symbol blockDim
请问各位先进我该如何设定环境呢?
另外由于开发会需要用到openframework,无法专门开一个cuda专案,这个范例我是用空
专案实作的
因此在专案设定里都没有CUDA选项,档案item type也没有 CUDA/C++ Compiler
这样会有问题吗?
最后想问的是,哪些档案一定要放在.cu里呢? 有呼叫kernal与用到cudaMalloc等函式就
要吗?
然后再包层API给别的cpp使用?
喂入的资料(Input):

预期的正确结果(Expected Output):
可以顺利执行并观察结果
错误结果(Wrong Output):
link error
程式码(Code):(请善用置底文网页, 记得排版)
https://github.com/ChiFang/question/blob/master/Source.cu
补充说明(Supplement):
显卡为geforce 940mx
已在include路径加入 sdk的 include资料夹
lib路径也加入 sdk的 lib\x64资料夹 并且加入底下所有的.lib档
楼主: hardman1110 (笨小孩)   2017-09-22 10:42:00
我确实用的是CUDA9
作者: Caesar08 (Caesar)   2017-09-21 20:52:00
CUDA 8没有支援VS2017,所以会不懂CUDA的文法试试看2015,或是等CUDA 9

Links booklink

Contact Us: admin [ a t ] ucptt.com