如何在CPP專案中使用CUDA

2021-10-10 06:05:41 字數 780 閱讀 5327

很多時候我們需要對乙個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 注...