很多時候我們需要對乙個cpp專案中某一部分進行gpu加速,如下步驟能夠實現這一目的。
直接新建或者開啟已有的cpp專案
右鍵專案,新建或者新增已有的.cu/.cu**件
注意:.cpp檔案不能直接呼叫kernel函式(新增了cuda的標頭檔案也不行)
於是我們可以以函式呼叫的方式,從.cpp檔案呼叫乙個.cu裡的函式,再借用這個函式呼叫kernel函式達到最終目的。
具體做法為:
a、在.cu檔案中,函式定義前加上extern 「c」,如:
//這段**在.cu檔案中
extern
"c"void
cuda_func()
b、新建乙個.cuh標頭檔案,宣告上面定義的函式,如:
//這段**在.cuh標頭檔案中
extern
"c"void
cuda_func()
;
c、在.cpp檔案中,包含上面的標頭檔案,如:
#include
"頭檔名.cuh"
a、右鍵專案,生成依賴項,生成自定義,勾選cuda 11.1(版本號不唯一)
b、右鍵你的.cu檔案,屬性,項型別,選擇為cuda c/c++
c、右鍵專案,屬性,鏈結器,輸入,附加依賴項,新增cudart.lib
d、工具,選項,文字編輯器,檔案拓展名,新增cu和cuh兩個檔案拓展名
呼~
如何在Flutter專案中使用GraphQL
麼是graphql 這篇文章主要是看一下如何在flutter專案中使用graphql,如果不清楚graphql是什麼,建議先看下官網對其介紹 從圖中也能看出,分3部分 可以看出,在這個graphql server中,我們可以查詢 continents continent countries coun...
在CUDA專案中使用ctags
最近使用vim看一些cuda程式,發現ctags竟然不支援cuda語言,各種糾結與傷心。然而,哈哈,並不能阻擋我使用ctags的決心,最後終於找到了乙個替代方法。ctags有乙個選項可以指定檔案使用的語言 langmap。比如,指定.cu檔案中語言為c 可以加入選項 langmap c cu。於是,...
c語言 如何在專案中使用陣列
用乙個最簡單理解的專案來教大家怎麼用陣列吧,就寫乙個錄入並檢視十名同學的成績好了。首先建立乙個陣列,然後迴圈十次每次錄入一名同學成績,十次迴圈結束同學的成績也就全部錄入完畢 include int main printf 檢視十名學生成績 n for int i 0 i 10 i return0 注...