CuDNN是一個專門針對Deep Learning框架設計的GPU計算加速方案,目前支持的DL庫包括Caffe,ConvNet, Torch7等。cuDNN Library for Windows 10 引入了協(xié)作組,一個用于組織通信線程組的編程模型。CUDA編程模型提供了一個用于同步協(xié)作線程的單一結構,現(xiàn)在要下載cuDNN,點擊下載的頁面后都是出現(xiàn)要求先加入Nvidia developers會員才能進行下載,但這個注冊的過程非常慢,所以本站就給大家?guī)砹吮镜叵螺d,不用注冊就可以下載到了
功能概述
·支持Volta-GPU架構,包括新的Tesla V100 加速器
·協(xié)作組,一個用于管理通信線程組的新編程模型
·用于編程Tensor Core矩陣的新型API在Tesla V100上進行乘法或加法的操作
·更快的程序庫用于線性代數(shù),圖像處理,F(xiàn)FT等
·在CuSolver和nvGroup中的新算法
·新的NVIDIA Visual Profiler支持Volta V100以及改進同一內存的分析功能
·提高編譯器性能
·在CUDA設備代碼中支持 C++14
·擴大開發(fā)平臺和主機編譯器,包括Microsoft Visual Studio 2017, Clang 3.9, PGI17.1和GCC6.x
CUDA 支持新的NVIDIA Volta 架構
CUDA 的核心是支持新型Volta架構,特別是GTC 2017推出的新Tesla V100 GPU加速器。
Tesla V100新的SM(流式多處理器)為深度學習和HPC提供了極高的浮點和整數(shù)性能。新的Volta SM比上一代Pascal設計能效高50%,在相同的功率范圍內可大幅度提升FP32和FP64性能。在深度學習訓練上,有12倍的峰值TFLOPs提升,在深度學習推理上,有6倍提升。通過獨立的并行整數(shù)和浮點數(shù)據路徑,Volta SM在計算和尋址計算的組合下,對工作負載的效率也更高。Volta的新獨立線程調度能力使得并行線程之間的細粒度同步協(xié)同成為可能。最終,新型的L1 Data Cache 與Shared Memory子系統(tǒng)的結合極大地提升了性能,同時也簡化了編程。
協(xié)作組
在并行運算中,線程通常需要合作來執(zhí)行集體運算。
構建這些協(xié)作代碼需要對協(xié)作線程進行分組和同步。
CUDA 9引入了協(xié)作組,一個用于組織通信線程組的編程模型。
歷史上,CUDA編程模型提供了一個用于同步協(xié)作線程的單一結構,然而,程序員通常希望以小于線程塊粒度來定義線程組。并在其中同步,以便以“集體”組功能接口的形式實現(xiàn)更高的性能,設計靈活性和軟件復用。
協(xié)作組介紹了以子塊和多塊粒度明確定義線程組的能力,并對其進行集體操作,例如同步。編程模型支持跨軟件邊界的明確組合,使得庫和實用程序功能可以在其上下文中安全同步,而無需對收斂進行假設。它允許開發(fā)人員針對硬件快速路徑進行優(yōu)化,例如GPU翹曲大小 - 以安全,可支持的方式使用靈活的同步,使程序員意圖明確。協(xié)作組原本在CUDA中實現(xiàn)了合作并行性的新模式,包括整個網格中的生產者 - 消費者并行性,機會主義并行性和全局同步。
協(xié)作組還提供了一個抽象,開發(fā)人員可以編寫靈活,可擴展的代碼,以便在不同的GPU架構中安全工作,包括擴展到未來的GPU功能。線程組的大小可以從幾個線程到整個線程塊,到網格啟動中的所有線程塊,跨越多個GPU的網格。
協(xié)作組編程模型由以下元素組成:
用于表示協(xié)作線程組的數(shù)據類型;
由CUDA啟動API定義的默認組(例如,線程塊和網格);
將現(xiàn)有組劃分為新組的操作;
同步組內所有線程的屏障操作;
檢查組屬性以及針對集團的集體的操作。
CuDNN安裝教程
1、解壓cudnn-10.1-windows10-x64.zip
cuda默認安裝路徑
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
2、將cuda加入系統(tǒng)環(huán)境,設置環(huán)境變量:
計算機上點右鍵,打開屬性->高級系統(tǒng)設置->環(huán)境變量,可以看到系統(tǒng)中多了CUDA_PATH和CUDA_PATH_V10_1兩個環(huán)境變量,接下來,還要在系統(tǒng)中添加以下幾個環(huán)境變量:
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1(這是默認安裝位置的路徑)
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
在系統(tǒng)變量 PATH 的末尾添加:
%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
再添加如下4條(默認安裝路徑):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\common\lib\x64;
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\bin\win64;
3、驗證是否配置成功,分別運行這兩個程序deviceQuery.exe、bandwidthTest.exe ,cd到安裝目錄下的 ...\extras\demo_suite,result=pass則安裝成功