cuda編程可以使用的庫函數

一、NPP

它是NVIDIA公司針對GPU加速圖像、視頻、信號處理庫(NPP全稱是NVIDIA Performance Primitives)。事實上,NPP和IPP(Integrated Performance Primitives)庫函數基本上是一一對應,不同的是一個在CPU上計算一個在GPU上計算。說一句題外話,IPP庫包含了許多底層優化的函數,如果已經安裝了IPP庫,opencv在運行時也會自動調用。

如何使用?配置好了cuda環境引入頭文件即可使用。

找到的中文資料

nvidia官方網站

二、cuRAND

它是一個在GPU設備上生成隨機數的庫。同樣的,配置好了cuda環境引入頭文件即可使用。

找到的中文資料

nvidia官方網站

三、cuBLAS

cuBLAS庫是用於進行矩陣運算,它包含兩套API,一個是常用到的cuBLAS API,需要用戶自己分配GPU內存空間,按照規定格式填入數據;還有一套CUBLASXT API,可以分配數據在CPU端,然後調用函數,它會自動管理內存、執行計算。既然都用cuda了,其實還是用第一套API多一點。

找到的中文資料

nvidia官方網站

四、cudnn

這個想必不會陌生,搭建深度學習環境時需要配置這個庫。cuDNN是用於深度神經網絡的GPU加速庫。它強調性能、易用性和低內存開銷。cuDNN可以集成到更高級別的機器學習框架中,如Tensorflow、caffe等。簡單的插入式設計可以讓開發人員專注於設計和實現神經網絡模型,而不是簡單調整性能,同時還可以在GPU上實現高性能現代並行計算。

配置時只需要把cuDNN文件複製到CUDA的對應文件夾裏就可以,即是所謂插入式設計,把cuDNN數據庫添加CUDA裏,cuDNN是CUDA的擴展計算庫,不會對CUDA造成其他影響。

五、其他庫

nvidia官方的其他庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章