為了推動GPU通用計算,AMD聯絡多家公司成立了HSA異構運算基金會,今年9月份已經推出了1.0版HSA規範。
只不過HAS雖然人多勢眾,但AMD在GPU通用計算上還是不如NVIDIA的CUDA做得好,
這次的TOP500計算機中有104台是異構系統的,其中使用NVIDIA加速卡的有66台,使用AMD顯卡的只有3台。
為了解決這個問題,AMD在SC15國際超算會議上宣布了一個“玻爾茲曼計劃”(Boltzmann initiative),
可以讓自家的Radeon顯卡運行原本針對CUDA開發的代碼。
AMD推出的“玻爾茲曼計劃”(Boltzmann initiative)以奧地利物理學家、哲學家路德維希·愛德華·玻爾茲曼命名,
他從統計學角度闡釋了熱力學第二定律,提出了著名的玻爾茲曼熵公式,現代GPU也從玻爾茲曼的工作中受益。
AMD的玻爾茲曼計劃,跟NVIDIA的GPU代號一樣都選擇了著名物理學家
AMD的玻爾茲曼計劃實際上分為兩個層面的,首先AMD徹底返修了自家的驅動,開發了專用的64位Linux驅動,
後者允許AMD的硬體運行無頭Linux(headless linux,指沒有外設、顯示的Linux)並完整應用HSA功能,
AMD稱之為HSA+運行時,除了HSA功能之外HSA+實際上還可以添加額外的、用於FirePro顯卡的額外指令。
第二部分就更重要了,AMD推出了HCC異構計算編譯器,支持C++語言,
同時支持CPU和GPU,是專為高性能計算開發的編譯器。
第三個部分是HIP(Heterogeneous-compute Interface for Portability)可移植異構計算界面,
這個東西就是專門對付NVIDIA的。由於NVIDIA專心搞自家的CUDA,對OpenCL並不怎麼上心,
硬體規格支持也僅限於OpenCL 1.2,AMD倒是一心想著支持OpenCL,但NVIDIA的不配合只能讓他們痛下殺招——
HIP可以讓開發者把CUDA代碼轉換成AMD HIP代碼,支持CUDA與HIP之間的源碼到源碼轉換。
很多人認為AMD的HIP實際上是讓AMD顯卡支持了CUDA,但實際上並不是,
AMD是不可能這麼做的,NVIDIA同樣也不會允許AMD這麼做。
HIP實際上是開發者把針對CUDA開發的代碼轉換成AMD顯卡可以運行的代碼,
只不過是幫助開發者節省重新開發的時間,提高效率。
這樣做其實並不動搖NVIDIA的CUDA地位,因為開發者對CUDA開發的代碼不受影響,
而對AMD來說,HIP的存在就相當於多了一個從NVIDIA那邊加速移植代碼的工具,
這多少可以緩解AMD在GPU運算環境上落後於NVIDIA的局面。
來源:http://www.expreview.com/43996.html
只不過HAS雖然人多勢眾,但AMD在GPU通用計算上還是不如NVIDIA的CUDA做得好,
這次的TOP500計算機中有104台是異構系統的,其中使用NVIDIA加速卡的有66台,使用AMD顯卡的只有3台。
為了解決這個問題,AMD在SC15國際超算會議上宣布了一個“玻爾茲曼計劃”(Boltzmann initiative),
可以讓自家的Radeon顯卡運行原本針對CUDA開發的代碼。

AMD推出的“玻爾茲曼計劃”(Boltzmann initiative)以奧地利物理學家、哲學家路德維希·愛德華·玻爾茲曼命名,
他從統計學角度闡釋了熱力學第二定律,提出了著名的玻爾茲曼熵公式,現代GPU也從玻爾茲曼的工作中受益。
AMD的玻爾茲曼計劃,跟NVIDIA的GPU代號一樣都選擇了著名物理學家

AMD的玻爾茲曼計劃實際上分為兩個層面的,首先AMD徹底返修了自家的驅動,開發了專用的64位Linux驅動,
後者允許AMD的硬體運行無頭Linux(headless linux,指沒有外設、顯示的Linux)並完整應用HSA功能,
AMD稱之為HSA+運行時,除了HSA功能之外HSA+實際上還可以添加額外的、用於FirePro顯卡的額外指令。

第二部分就更重要了,AMD推出了HCC異構計算編譯器,支持C++語言,
同時支持CPU和GPU,是專為高性能計算開發的編譯器。

第三個部分是HIP(Heterogeneous-compute Interface for Portability)可移植異構計算界面,
這個東西就是專門對付NVIDIA的。由於NVIDIA專心搞自家的CUDA,對OpenCL並不怎麼上心,
硬體規格支持也僅限於OpenCL 1.2,AMD倒是一心想著支持OpenCL,但NVIDIA的不配合只能讓他們痛下殺招——
HIP可以讓開發者把CUDA代碼轉換成AMD HIP代碼,支持CUDA與HIP之間的源碼到源碼轉換。

很多人認為AMD的HIP實際上是讓AMD顯卡支持了CUDA,但實際上並不是,
AMD是不可能這麼做的,NVIDIA同樣也不會允許AMD這麼做。
HIP實際上是開發者把針對CUDA開發的代碼轉換成AMD顯卡可以運行的代碼,
只不過是幫助開發者節省重新開發的時間,提高效率。
這樣做其實並不動搖NVIDIA的CUDA地位,因為開發者對CUDA開發的代碼不受影響,
而對AMD來說,HIP的存在就相當於多了一個從NVIDIA那邊加速移植代碼的工具,
這多少可以緩解AMD在GPU運算環境上落後於NVIDIA的局面。


來源:http://www.expreview.com/43996.html