OpenCL教程 第一章 環境搭建-Nvidia顯示卡篇(上)
第一章 環境搭建
俗話說工欲善其事必先利其器,想要學習某項技術,必須先把環境搭建好,想要在FPGA上開發OpenCL專案必須先有一塊顯示卡用於除錯,因為FPGA編譯OpenCL專案非常緩慢,所以先用顯示卡將專案除錯完成後再編譯成FPGA可執行檔案,從而使用FPGA執行,所以環境搭建就分為兩個部分,第一部分是顯示卡OpenCL開發環境的搭建,第二部分是FPGA OpenCL開發環境的搭建
準備工具
顯示卡環境搭建
第一步:顯示卡驅動安裝
顯示卡型號:Nvidia 1080ti
首先安裝1080ti的顯示卡驅動(可以使用驅動精靈或者魯大師等)
安裝完成後可以在控制面板中看到顯示卡驅動:
顯示卡驅動不一定最新的就是最好的,最新的往往可能對於其他軟體的支援不夠,所以在安裝好顯示卡驅動後需要使用GPU-Z檢視當前的驅動版本是否支援OpenCL
解壓後安裝,一路選擇預設,安裝完成後開啟GPU-Z如下:
可以看到當前版本的顯示卡驅動版本為397.93,並且支援OpenCL
第二步:CUDA安裝
從官網下載CUDA 並雙擊執行安裝程式
安裝完成後
1、找到OpenCL.lib檔案預設路徑為:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\lib\Win32\OpenCL.lib
內容可能因版本不同而不一樣
2、找到OpenCL程式庫標頭檔案,預設路徑為:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include\CL
3、在驅動程式的預設安裝路徑C:\Program Files\NVIDIA Corporation\OpenCL
找到OpenCL.dll
第三步:配置VS
(1)新建一個模板目錄01Template,並在該目錄下新增OpenCL_inc以及OpenCL_lib兩個子目錄
將之間找到的CL資料夾拷貝到OpenCL_inc目錄下
將OpenCL.lib以及OpenCL.dll,OpenCL64.dll檔案拷貝到OpenCL_lib目錄下
(2)開啟VS2013,新建工程,並將工程儲存到剛剛建立的01Template目錄下
(3)選擇 專案->屬性
(4)選擇 C/C++ ->常規->附加包含目錄,設定目錄為
(5)選擇 連結器->輸入->附加依賴項,附加依賴項為OpenCL.lib
(6)選擇 連結器->常規->附加目錄庫,設定路徑為OpenCL_lib
(7)新建main.cpp原始檔
並在main.cpp中新增以下內容
#include <iostream>
#include <string>
#include "CL\opencl.h"
using namespace std;
string getPlatformName(const cl_platform_id pid){
size_t param_value_size;
clGetPlatformInfo(pid, CL_PLATFORM_NAME, 0, NULL, ¶m_value_size);
char *param_value = new char[param_value_size];
clGetPlatformInfo(pid, CL_PLATFORM_NAME, param_value_size, param_value, NULL);
return param_value;
}
int main(){
cl_uint num_platforms;
clGetPlatformIDs(0, NULL, &num_platforms);
cl_platform_id *platforms = new cl_platform_id[num_platforms];
clGetPlatformIDs(num_platforms, platforms, NULL);
for (cl_uint i = 0; i < num_platforms; i++){
string platname = getPlatformName(platforms[i]);
cout << "<" << i << "> " << "Platform name is :" << platname << endl;
}
return 0;
}
執行後若無錯誤會返回以下結果
到這裡1080ti顯示卡的OpenCL開發環境就搭建完成了,可以將上述模板匯出為VS模板,以後直接新增該模板工程即可