1. 程式人生 > >【小卒CUDA安裝】最新CUDA9.2+VS2015+WINDOW7的配置【詳細關鍵點記錄】

【小卒CUDA安裝】最新CUDA9.2+VS2015+WINDOW7的配置【詳細關鍵點記錄】

 

小卒第三次配置CUDA了,才發現自己這次配置學會了很多,為了記錄自己的成長,也為了和大家分享CUDA的配置方法,下面我講把整個配置過程自己覺得重要的地方記錄下來。


一、什麼是CUDA

 

           CUDA(Compute Unified Device Architecture),是顯示卡廠商NVIDIA推出的運算平臺。 CUDA™是一種由NVIDIA推出的通用平行計算架構,該架構使GPU能夠解決複雜的計算問題。 它包含了CUDA指令集架構(ISA)以及GPU內部的平行計算引擎。 開發人員現在可以使用C語言來為CUDA™

架構編寫程式,C語言是應用最廣泛的一種高階程式語言。所編寫出的程式於是就可以在支援CUDA™的處理器上以超高效能執行。

 

二、CUDA的實用價值以及發展展望


           CUDA(Compute Unified Device Architecture)是一個新的基礎架構,這個架構可以使用GPU來解決商業、工業以及科學方面的複雜計算問題。它是一個完整的GPGPU解決方案,提供了硬體的直接訪問介面,而不必像傳統方式一樣必須依賴圖形API介面來實現GPU的訪問。在架構上採用了一種全新的計算體系結構來使用GPU提供的硬體資源,從而給大規模的資料計算應用提供了一種比CPU更加強大的計算能力。CUDA

採用C語言作為程式語言提供大量的高效能運算指令開發能力,使開發者能夠在GPU的強大計算能力的基礎上建立起一種效率更高的密集資料計算解決方案。

CUDA體系結構的組成來說,包含了三個部分:開發庫、執行期環境和驅動

開發庫是基於CUDA技術所提供的應用開發庫。目前CUDA的1.1版提供了兩個標準的數學運算庫--CUFFT(離散快速傅立葉變換)和CUBLAS(離散基本線性計算)的實現。這兩個數學運算庫所解決的是典型的大規模的平行計算問題,也是在密集資料計算中非常常見的計算型別。開發人員在開發庫的基礎上可以快速、方便的建立起自己的計算應用。此外,開發人員也可以在CUDA的技術基礎上實現出更多的開發庫。

執行期環境提供了應用開發介面和執行期元件,包括基本資料型別的定義和各類計算、型別轉換、記憶體管理、裝置訪問和執行排程等函式。基於CUDA開發的程式程式碼在實際執行中分為兩種,一種是執行在CPU上的宿主程式碼(Host Code),一種是執行在GPU上的裝置程式碼(Device Code)。不同型別的程式碼由於其執行的物理位置不同,能夠訪問到的資源不同,因此對應的執行期元件也分為公共元件、宿主元件和裝置元件三個部分,基本上囊括了所有在GPGPU開發中所需要的功能和能夠使用到的資源介面,開發人員可以通過執行期環境的程式設計介面實現各種型別的計算。

 

三、CUDA的配置

 

1、新增環境變數

在這裡,筆者希望你下的是最新版的CUDA,因為在最新版的CUDA中已經整合自動的環境變數安裝程式,在CUDA安裝好之後,系統會自動新增兩個環境變數CUDA_PATH以及動態庫的變數。所以這裡就不用做處理了。

2、VS軟體的配置


專案名稱上右鍵->屬性,然後:

(路徑以你的電腦實際為準)

注意配置平臺資訊32位 還是64位,還有Release和Debug

VC++目錄下的:

包含目錄 新增以下內容:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\common\inc

C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v8.0\include

庫目錄 新增以下內容:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\common\lib\x64

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64

在連結器 下的:

輸入->附加依賴項 新增(注意釋出版本不一樣,Debug版的帶“d”, Release版的不帶

       新增以下內容
Debug:

cublas.lib

cublas_device.lib

cuda.lib

cudadevrt.lib

cudart.lib

cudart_static.lib

cufft.lib

cufftw.lib

curand.lib

cusolver.lib

cusparse.lib

nppc.lib

nppi.lib

nppial.lib

nppicc.lib

nppicom.lib

nppidei.lib

nppif.lib

nppig.lib

nppim.lib

nppist.lib

nppisu.lib

nppitc.lib

npps.lib

nvblas.lib

nvcuvid.lib

nvgraph.lib

nvml.lib

nvrtc.lib

OpenCL.lib

更多配置方法:https://blog.csdn.net/weixin_41994751