cuda和cudnn是什么


cuda和cudnn是什么

一、總結

一句話總結:

CUDA(Compute Unified Device Architecture),是顯卡廠商NVIDIA推出的運算平台。 CUDA是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決復雜的計算問題。
NVIDIA cuDNN是用於深度神經網絡的GPU加速庫。cuDNN是基於CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。

 

 

1、什么是CUDA?

CUDA(Compute Unified Device Architecture),是顯卡廠商NVIDIA推出的運算平台。 CUDA是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決復雜的計算問題。

 

 

2、什么是CUDNN?

(A)、NVIDIA cuDNN是用於深度神經網絡的GPU加速庫。它強調性能、易用性和低內存開銷。
(B)、NVIDIA cuDNN可以集成到更高級別的機器學習框架中,如谷歌的Tensorflow、加州大學伯克利分校的流行caffe軟件。
(C)、簡單的插入式設計可以讓開發人員專注於設計和實現神經網絡模型,而不是簡單調整性能,同時還可以在GPU上實現高性能現代並行計算。

 

 

3、CUDA與CUDNN的關系?

(1)、CUDA看作是一個工作台,上面配有很多工具,如錘子、螺絲刀等。
(2)、cuDNN是基於CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。它就相當於工作的工具,比如它就是個扳手。但是CUDA這個工作台買來的時候,並沒有送扳手。
(3)、想要在CUDA上運行深度神經網絡,就要安裝cuDNN,就像你想要擰個螺帽就要把扳手買回來。這樣才能使GPU進行深度神經網絡的工作,工作速度相較CPU快很多。

 

 

4、CUDNN不會對CUDA造成影響?

從官方安裝指南可以看出,只要把cuDNN文件復制到CUDA的對應文件夾里就可以,即是所謂插入式設計,把cuDNN數據庫添加CUDA里,cuDNN是CUDA的擴展計算庫,不會對CUDA造成其他影響。

 

 

 

二、cuda和cudnn是什么

轉自或參考:CUDA與cuDNN
https://www.jianshu.com/p/622f47f94784

 

1、什么是CUDA

CUDA(ComputeUnified Device Architecture),是顯卡廠商NVIDIA推出的運算平台。 CUDA是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決復雜的計算問題。


2、什么是CUDNN

NVIDIA cuDNN是用於深度神經網絡的GPU加速庫。它強調性能、易用性和低內存開銷。NVIDIA cuDNN可以集成到更高級別的機器學習框架中,如谷歌的Tensorflow、加州大學伯克利分校的流行caffe軟件。簡單的插入式設計可以讓開發人員專注於設計和實現神經網絡模型,而不是簡單調整性能,同時還可以在GPU上實現高性能現代並行計算。


3、CUDA與CUDNN的關系

CUDA看作是一個工作台,上面配有很多工具,如錘子、螺絲刀等。cuDNN是基於CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。它就相當於工作的工具,比如它就是個扳手。但是CUDA這個工作台買來的時候,並沒有送扳手。想要在CUDA上運行深度神經網絡,就要安裝cuDNN,就像你想要擰個螺帽就要把扳手買回來。這樣才能使GPU進行深度神經網絡的工作,工作速度相較CPU快很多。


4、CUDNN不會對CUDA造成影響

官方Linux安裝指南表述:

 

 

 

從官方安裝指南可以看出,只要把cuDNN文件復制到CUDA的對應文件夾里就可以,即是所謂插入式設計,把cuDNN數據庫添加CUDA里,cuDNN是CUDA的擴展計算庫,不會對CUDA造成其他影響。

cuDNN的安裝文件有兩個文件夾,共五個文件,如下

 

 

 

cudnn.h是調用加速庫的文件,*.os是
 

CUDA平台里對應文件夾的文件,如下

 

 

 

可以看到,CUDA已有的文件與cuDNN沒有相同的文件,復制CUDNN的文件后,CUDA里的文件並不會被覆蓋,CUDA其他文件並不會受影響。


5、Linux下CUDNN的安裝

在服務器上共安裝了三個不同版本的CUDA,並不知道哪個能正常調用,所以需要安裝三個不同版本的cuDNN。

cuDNN的文件已經放入服務器我的文件夾下

linu命令如下:如果不行,就全部去掉sudo。

cp 是復制,chmod是給與文件可讀權限,使這個文件可以讀取,rm 是刪除文件

(1)

sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/include/cudnn.h /usr/local/cuda-9.1/include

sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/include/libcudnn* /usr/local/cuda-9.1/lib64

sudo chmod a+r /usr/local/cuda-9.1/include/cudnn.h

sudo chmod a+r /usr/local/cuda-9.1/lib64/libcudnn*

(2)

sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/include/cudnn.h /public/software/cuda-9.1/include

sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/lib64/libcudnn* /public/software/cuda-9.1/lib64

sudo chmod a+r /public/software/cuda-9.1/include/cudnn.h

sudo chmod a+r /public/software/cuda-9.1lib64/libcudnn*

(3)

sudo cp /public/home/qliang/lyr/ysl/cudnn10/cuda/include/cudnn.h/ usr/local/cuda-9.1/include

sudo cp /public/home/qliang/lyr/ysl/cudnn10/cuda/lib64/libcudnn* /usr/local/cuda-9.1/lib64

sudo chmod a+r /public/software/cuda-10.0/include/cudnn.h

sudo chmod a+r /public/software/cuda-10.0/lib64/libcudnn*


7、卸載cuDNN

因為是插入式設計,cuDNN的卸載也非常簡單,只需要把相關文件刪除就可以了。指令如下:

rm –rf /usr/local/cuda-9.1/include/cudnn.h

rm –rf /usr/local/cuda-9.1/lib64/libcudnn*

rm –rf /public/software/cuda-9.1/include/cudnn.h

rm –rf /public/software/cuda-9.1/lib64/libcudnn*

rm –rf /public/software/cuda-10.0/include/cudnn.h

rm –rf /public/software/cuda-10.0/lib64/libcudnn*

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM