CUDA程式設計二(CUDA初始化)

2021-08-18 05:17:00 字數 1448 閱讀 9780

cuda安裝成功之後,新建乙個工程還是十分簡單的,直接在新建專案的時候選擇nvidia cuda專案就可以了,我們先新建乙個cuda工程,刪掉自帶的示例kernel.cu,然後新建項,新建乙個cuda c/c++ file ,我們首先看一下如何初始化cuda,因此我命名為initcuda.cu

1.首先我們要使用cuda的runtime api 所以 我們需要include cuda_runtime.h

#include //cuda runtime api

#include

2.接下來這個函式會呼叫 runtime api 中 有關初始化cuda的內容

//cuda 初始化

bool initcuda()

int i;

for (i = 0; i < count; i++) }}

if (i == count)

cudasetdevice(i);

return true;

}

這段程式首先會呼叫cudagetdevicecount 函式,獲得支援 cuda 的gpu的數量,如果計算機上沒有支援 cuda 的裝置,則會傳回 1,而這個1是device 0 ,device0 只是乙個**裝置,但是cuda的很多功能都不支援(不支援cuda1.0以上版本),因此我們要真正確定系統上是否有支援cuda的裝置,需要對每個device呼叫cudagetdeviceproperties,來獲得它們的具體引數,以及所支援的cuda版本(prop.major 和 prop.minor 分別代表裝置支援的版本號碼,例如 6.5 則 prop.major 為 6 而prop.minor 為 5)

cudagetdeviceproperties除了可以獲得裝置支援的 cuda 版本之外,還有裝置的名稱、記憶體的大小、最大的 thread 數目、執行單元的頻率等等。詳情可參考nvidia 的 cuda programming guide。

在找到支援 cuda 1.0 以上的裝置之後,就可以呼叫 cudasetdevice 函式,把它設為目前要使用的顯示卡。

下面我們在main函式中呼叫initcuda函式,由於我們使用vs,所以直接ctrl+f5編譯執行就可以了,執行時如果系統上有支援 cuda 的裝置,應該會顯示 cuda initialized。

CUDA的初始化

首先介紹一下開發環境,visual studio 2008 cuda wizard for visual studio 確保顯示卡支援cuda geforce 8系列之後,否則只能用模擬模式 並安裝cuda ddk及cuda toolkit。安裝完cuda wizard for visual stu...

cuda的初始化

首先介紹一下開發環境,visual studio 2008 cuda wizard for visual studio 確保顯示卡支援cuda geforce 8系列之後,否則只能用模擬模式 並安裝cuda ddk及cuda toolkit。安裝完cuda wizard for visual stu...

CUDA初始化與核函式

include include include define data size 1048576 int data data size void generatenumbers int number,int size bool init cuda int i for i 0 i count i if...