如何評價 cudnn 和 cuda 的關係?

時間 2021-09-10 06:22:15

1樓:霸王手槍腿

首先,CUDA是C語言在GPU程式設計上的的拓展包,CUDNN是封裝了卷積等運算元的庫,不是乙個層面的東西。

其次,這二者的關係,CUDA可以用來實現cudnn定義的各種介面,早期CUDNN應該內部是用CUDA實現的,但隨著英偉達軟體生態的發展,CUDNN團隊一定會選擇用更底層,更靠近硬體,更難用的工具來構建Kernel,比如PTX,比如直接寫彙編(SASS)。不信的話可以自己試著用CUDA實現CUDNN的介面,看看效能能差多少。當然能把CUDA寫好的人想必都了解CUDA的侷限。

最後,二者在生態裡面的位置。最開始CUDA可以說是英偉達用來打天下的東西,很大程度靠這玩意兒確立了自己在高效能計算尤其是神經網路高效能計算的地位。因為CUDA在暴露硬體特性和保持軟體通用性的矛盾中找到了乙個精巧的,大多數人都可以接受的平衡。

但隨著這幾年技術的發展,情況又發生了些變化,CUDA還是肩負著軟體生態通用性的重任,而高效能的任務,更多地需要由CUDNN,CUBLAS這些高效能軟體庫來承擔。在英偉達的構想中,成熟的運算元,比如卷積,比如全聯接,使用者可以使用庫直接獲得最優性能,而對於新的運算元或者是每個使用者獨有的運算元,使用者還是可以用CUDA自己來相對簡單地實現乙個效能可以接受的版本。最後通過TensorRT, TensorFlow這樣的框架把這二者銜接起來。

有沒有懂fortran和cuda的

CUDA FORTRAN了解一下?雖然支援不如C 那麼完善,fortran版本官方文件和fortran介面文件不如C 版本官方文件那麼詳細,但用是沒啥大問題的。不過還是建議先看看CUDA C Programming Guide了解下GPU的基本體系架構,然後再對照著Fortran Code Samp...

如何評價英偉達CUDA平台將不再支援Mac OS?如今CUDA與METAL相比各自有什麼優勢與劣勢?

Alan CUDA平台強在於對機器學習的訓練有良好支援,並且幾乎所有及機器學習框架都會使用CUDA。對於蘋果,關注點更多在於產品應用和體驗,也就是說機器學習模型推理反而比訓練更重要,而且最終部署在裝置上的模型都是訓練好的。當然蘋果也推出了自己的機器學習框架 Core ML,到現在已經第三代了,現在不...

如何評價Otoy稱將CUDA移植至其他平台

馬牛牛 貌似類似Ocelot,GitHub gtcasl gpuocelot GPUOCelot A dynamic compilation framework for PTX 叛逆者 processing unit GPGPU software,known as CUDA,to run on no...