為什麼做GPU計算,深度學慣用amd顯卡的很少,基本都nvidia?
12-30
如題,amd顯卡除了打遊戲,干工作好像沒什麼用。
因為GPGPU基本上都是CUDA的天下了,而CUDA是NV的親兒子。OpenCL在各個平台上支持都很差。
AMD的OpenCL編譯器C語言和C++不是一套(C++編譯器32位和64位好像也不是一套,32位不常用有點記不清了);C語言編譯器會無視寄存器個數進行優化,C++編譯器在寄存器足夠的情況下不進行徹底優化;64位模式下內存訪問寄存器佔用極其可怕,原本可以通過在32位模式下編譯kernel在64位下用,現在把這個功能給禁用了;GCN1.2新加的指令至少之前OpenCL里不能用。
AMD根本就沒把GPGPU當回事啊...amd在計算方面的生態圈和技術支持都不咋地,最近農企靠gpuopen和Radeon開放計算平台來建立自己的生態圈,不管有沒有用,生態圈的建立也需要時間的
還有一個重要是原因是當時N家的顯卡都是免費給各大高校實驗室用,而且出來新顯卡去開會的話,老黃還會免費送
樓上都提到了生態,對開發者的態度,驅動,介面等問題。除此之外其實還有一點(由前面這些因素帶來的)設計取向上的不同,amd的顯卡就是沖著圖形去的,通用計算能順便支持就湊合支持一下,不能就拉倒。nvidia最近的幾代核心都是兼顧圖形和通用計算的。比較典型的就看分支處理的能力,線程間同步能力,還有雙精度計算能力。
一直以來NVIDIA與AMD的GPU差距都體現在軟體上。NV的DevTech是一群活躍於應用領域的軟體工程師,他們對於軟體應用的需求反應很快。這也促成了NV會自行開發很多結合硬體底層特性的高性能函數庫,對於深度學習來說cuDNN就是非常成功的案例。現在主流框架都是基於這個庫來構建的,那大家自然都會選擇使用N卡咯。
深度學習如此火爆,英偉達恐成最終贏家?
因為英偉達發力機器學習比較早,形成了先發優勢。現在基本上主流、非主流的框架、庫全是基於CUDA(少量非主流基於CPU)。支持AMD的OpenCL的框架、庫非常少。
以知乎上AMD員工的見聞來歸納,就是黃老邪家的軟體部門從規模到投入各方面吊打蘇媽……就看蘇媽這幾年各種整合中能不能把這塊弄起來了,畢竟不能只靠渲染設計和遊戲玩家吃飯不是么
英偉達投入的多,僅此而已。
因為amd驅動爛得要死唄,早期那真是什麼問題都有!至於現在A卡戰未來,深紅,雞血驅動什麼的。那都是派遊戲機所賜,如果不是索尼和微軟在這代主機採用了amd硬體。那麼很多人買了一塊a卡,真的是連驅動都可能安裝失敗……
推薦閱讀:
※如何評價 GTX 1060 系列顯卡?
※為什麼要買和CPU價錢一樣(差不多)的主板?
※玩遊戲長期開高配置對CPU和GPU有損傷嗎?
※現在英偉達顯卡已經發展到哪一步了?
※顯卡驅動為什麼那麼大?驅動裡面都是些什麼東西?
TAG:NVIDIA英偉達 | AMD | 顯卡 | GPU通用計算 | 深度學習DeepLearning |