AMD Open Compute 計畫 ROCm 邁入 1.3 版,開始支援 Polaris 架構

2016.11.15 04:16PM
是AMD Open Compute 計畫 ROCm 邁入 1.3 版,開始支援 Polaris 架構這篇文章的首圖

AMD 在 2015 年的 SC15 大會開始提出 Open Computing 的計畫,希望藉由開源的方式推廣 GPU 加速的異質運算,同時賦予此計畫 ROCm ( Radeon Open Compute Platform )的名稱,歷經一年左右的時間也在 SC16 大會公布了最新的 ROCm 1.3 ,主要也加入最新的 Polaris 架構 GPU 的支援。

576b1f955bd64c03f0bc707bf49b507b

0fb0c59ce91b32d7b92334a86d28e1eb

ROCm 計畫的宗旨仍舊是希望藉由開放平台的方式藉此推廣 Radeon GPU 於異質運算的應用,故除了 AMD 的 Fiji 、 Hawaii 以及 Polaris 架構 GPU 以外,可與包括 AMD 、 Intel 等 x86 CPU 、 ARM 64 位元核心(目前主要是 Cavium ThunderX )以及 IBM Power 8 等 CPU 進行異質運算。

362e332776291d15d43fad84816a1f24

ca44f9f5a652b4fdf3ea939d9e9c5c0f

除了更完整的 GPU 產品線, ROCm 1.3 加入了針對 Linux 64 位元的 GCN 驅動支援,同時提升異質運算編譯器 ( HCC )以及異構運算轉譯器( HIP ,用於將例如 CUDA 指令轉化為可支援的指令)等。除此也加入原生 Float 16 的支援。

另外 ROCm 可透過作業系統容器、 Linux KVM 進行 GPU 硬體虛擬化,同時可藉由 KVM 穿透功能支援 GPU 硬體虛擬化。此外 ROCm 納入對星是先進數學加速函式庫的支援,包括基礎線性代數程式集運算、快速傅立葉變換運算以及 N 維空間張量收縮等。

cd50f2e721c5bebc5092a45a03f31bae

另外此次也加入對於 OpenCL 1.2+ 的支援性,但微妙的是雖未加入 OpenCL 2.0 完整支援,卻可支援 OpenCL 2.0 的 Kernel 語言,當然也完整的向下相容 OpenCL 1.2 ,不過並未快速的銜接 OpenCL 2.0 或許是有緣故的,因為 AMD 也介紹了他們的深度學習框架 CAFFE 。

006ba150c3999254e5f87cf48041e4da

AMD 也強調 HIP 工具可輕鬆的從 CUDA 轉換到 CAFFE 深度學習框架,而且 AMD 強調藉由 HIPify 轉換工具,能夠自動轉譯達 99.6% 的代碼,雖未達到 100% ,不過已經大幅縮減轉換時間;這也意味著與其使用目前幾乎需要全部手動轉換的 OpenCL ,還不如採用轉換率已經突破 9 成的 HIP 轉化到 CAFFE ,這或許也可視為 AMD 未在 ROCm 1.3 支援最新的 OpenCL 2.0 。

4c6bf225d0f97e0a48cbaebbff477e93

從近期的狀況來看,當年一度被業界質疑力推 CUDA 的 NVIDIA 反而在目前因為深度學習翻紅的異質運算取得大幅度的領先,反觀較早提出 GPGPU 概念、標榜開放的 AMD 遲遲未有具體成果,而在 Radeon Technology Group 成立、 Raja Koduri 重返 AMD 並執掌 RTG 後,也有較明確的進展,然而短時間內 AMD 仍需要更實際的戰績作為火力展示。

你或許會喜歡

30天免費4.5G行動上網,用過滿意再申辦

藍瘦香菇,別再受網路龜速之苦,體驗30天4.5G飆速