作者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/m.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/m.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