OpenCompute在機器學習技術的應用

  • 魏淑芳
AMD Radeon繪圖技術事業群PMTS軟體開發工程師鐘文衡(Jack Chung)。

DIGITIMES企劃

超微(AMD)Radeon繪圖技術事業群PMTS軟體開發工程師鍾文衡,以「Open Compute在機器學習技術的應用」做演說。他指出機器智慧技術可應用在自駕車、智慧家庭、無人機、個人機器人、HPC高效能電腦、保全防護、雲端控制、金融服務、奈米機器人、工廠製造工程、醫學、能源與個人助理等領域。

而AMD於2016年底推出Radeon Instinct方案,根基於Radeon Instinct硬體加速器、Radeon Open Compute for Machine Learning(ROCm)開放運算平台,針對上述各種應用領域提供最佳化機器學習/深度學習的軟體框架與應用。

鍾文衡指出業者初期可以伺服器為主的Radeon Instinct MI6/MI8/MI25硬體加速器開發,其與AMD嵌入式裝置的GPU/APU架構相近,所開發的軟體/應用可順利轉移。MI6-採Polaris GPU核心、提供5.7TFLOPS、224GB/s記憶體頻寬與功耗150W,MI8-採Fiji GPU核心、Small Form Factor(SFF)外觀、提供8.2TFLOPS、512GB/s記憶體頻寬與功耗175W,MI25採內建High Bandwidth Cache與控制晶片的Vega GPU核心、提供較上代兩倍數學運算效能、設計功耗300W。

Radeon Open Compute for Machine Learning(ROCm)開放運算平台,系統架構上有底層ROCm驅動程式與中層ROCr System Runtime API;軟體開發者藉由開源的前端編譯器(Compiler Front-End)編譯出CPU code與GPU code,程式碼打包後置於最上層Language Runtime API與UCX這一層。

而ROCm撰寫模式選項上,可使用:1.HIP-將以CUDA函式撰寫的程式碼轉換、移植成可攜性C++程式碼的工具。2.HCC編譯器-標準以AMD GPU平台開發的C++編譯器。3.OpenCL-將針對一般CPU、GPI、FPGA所開發的OpenCL函式的C語言轉換、移植。

以上HCC、HIP、OpenCL函式以至於Python底層,到MIOPEN、BLAS/FFT/RNG、NCCL、C++STL中間層與函式庫都是開源(Open Souce)設計,並可搭配到最上層Caffe/CNTK、TensorFlow/Chainer、Torch 7/Theano、MxNet等應用框架。

鍾文衡提到AMD提供以OpenCL函式或HIP編譯器所撰寫的MI Open最佳化深度學習函式庫,內含摺積(Convolutions)、Pooling、Softmax運算,與數據常規化(Normalization)等常用的程式碼片段,能搭配AMD GPU/APU平台並發揮最佳化深度學習的加速效果。而AMD Radeon Instinct具備的MxGPU所需的SRIOV硬體虛擬化技術,可搭配資料中心的伺服器,虛擬出多個在不同作業系統獨立操作、不受干擾的GPU機器學習加速環境。

鍾文衡提到Radeon Instinct技術,搭配即將推出的14nm製程、Zen架構的Naples伺服器處理器,可建構出低成本、低延遲架構、點對點通訊(Peer to Peer Communication)與高密集運算足跡(High Density Footprint)的數據中心。

AMD從2012年6月與產業界創立HSA異質系統架構基金會,公開跨CPU架構的ROCm開放運算平台,同時也是異質加速器互連架構(CCIX)、次世代匯流排(Gen-Z)與OpenCAPI聯盟的創始會員。目前運用Radeon Instinct深度學習技術的實際產品,有Super Micro的SYS 1028GQ-TRT 1U機架式伺服器。