作者hardman1110 (笨小孩)
看板C_and_CPP
标题[问题] cuda 环境设定与使用问题
时间Thu Sep 21 17:06:35 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
visual studio community 2017
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
CUDA SDK 9.0
问题(Question):
目前参考版上文章的范例三来实作
https://webptt.com/cn.aspx?n=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档
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.34.230.27
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1505984799.A.FFC.html
※ 编辑: hardman1110 (114.34.230.27), 09/21/2017 17:07:40
1F:→ Caesar08: CUDA 8没有支援VS2017,所以会不懂CUDA的文法 09/21 20:52
2F:→ Caesar08: 试试看2015,或是等CUDA 9 09/21 20:53
3F:→ hardman1110: 我确实用的是CUDA9 09/22 10:42