現今軟件開發主要的挑戰在於如何完整釋放硬件效能,讓開發者輕易採用硬件資源以解決各種艱難問題。而為了協助用戶更簡單地開發具有高效能和低能耗的異質化運算系統,AMD 想出了一個辦法,就是借助推動「Boltzmann 計劃」的新款開發工具套裝軟件,從而讓用戶更簡單地開發具有高效能和低能耗的異質化運算系統。
包括異質運算編譯器(Heterogeneous Compute Compiler;HCC)、基於無頭設計(headless)的 Linux 驅動程式與 HAS 執行架構所合成的叢集系統高效能運算(HPC),以及異質運算介面移植(HIP)工具,該工具可將 CUDA-based 應用程式,移植到 C++ 語言程式開發環境。AMD 希望此工具將提升多個市場應用軟件的效能,包括機器學習、分子動力學、油氣探勘、視覺特效及電腦製成圖像。
美國能源部極端材料 Exascale 協同設計中心主任暨勞倫斯利福摩爾國家實驗室資深計量材料科學家 Jim Belak 表示:「異質運算介面移植工具為 HPC 應用帶來便利的效能移植方式,可將撰寫於特定架構的程式碼,在不影響效能的情況下輕易移植到另一架構中,是款具有強大功能的移植工具。其概念是在高階程式模型層級下方設計一款高效能編譯程式,讓研究員可更專注地解決問題,找尋突破性的研究成果,無須耗費心力在硬件優化上。 」
異質運算編譯器
業界已開始採用多核心 CPU 序列運算結合 GPU 平行運算效能的搭配,以享有極致運算效能;這一直是異質系統架構基金會(HSA Foundation)推動的。HSA 的其中一個目標是運用更高階的程式語言,簡化平行運算程式的開發流程。AMD Boltzmann 開發套裝軟件包括支援 C++ 程式開發的 HCC 編譯程式,提升可利用 HSA 優勢的開發者人數。新推出的 HCC C++ 編譯器為其關鍵,可讓開發者輕易且有效率地在各種異質系統中運用硬件資源,透過單一化原始碼執行模式簡化開發流程,將 CPU 與 GPU 程式碼整合於同一個檔案,編譯器會自動配置程式碼,並同時於兩種處理元件上執行,繼而發揮最大的執行效率。
Linux 驅動程式與執行架構
為輔助新推出的編譯工具,AMD 亦為 HPC 開發新款的驅動程式與系統執行方案。這款全新無頭 Linux 驅動程式提供許多功能,因應各核心的高效能運算需求:包括低延遲運算資源分配與 PCIe 介面的資料傳輸、peer-to-peer GPU 支援;InfiniBand 遠端直接記憶體存取(RDMA),直接連結 GPU 記憶體;以及超大單一記憶體配置(Large Single Memory Allocation)的支援。
CUDA 程式 HIP 化後即可於 AMD GPU 上運行
AMD HIP 工具可針對 CUDA 撰寫的程式移植至 AMD 平台。官方指出,在許多情況下,90% 以上的 CUDA 程式碼皆能由 HIP 自動轉換成 C++ 程式碼,其餘 10% 則以手動進行移植為各界常用的 C++ 語言,這將大幅提升先前專為 CUDA 撰寫的應用程式之硬件裝機數量。
Boltzmann 開發計劃工具預計 2016 年第 1 季進行優先試用。
AMD 推出 Boltzmann 開發計劃望解決 GPU 運算障礙
https://www.facebook.com/hkitblog