JUST THE FACTS

通過實證考驗的效能

加速運算為高效能運算 (HPC) 掀起改革熱潮。搭載加速器的系統能為今日的 HPC 提供效能最高且能源效率最佳的高效能運算,現今已廣受認可。加速系統已成為大型 HPC 與超級運算領導地位的新基準。加速運算已不再是「假設性」問題,而是「何時且如何透過 HPC 運作」。

除了給予承諾與宣傳其重要性,我們亦希望提供一些評估加速運算選項的實證。具體而言,有人認為 Intel Xeon Phi 加速器只需重新編譯,並在 Phi 上執行原生執行程式碼,即便與 GPU 相比也能產生可接受的應用效能,或 Phi 比GPU更能輕鬆進行效能最佳化;但這些概念並非依據實證。

實證: 在實際 HPC 應用上,GPU 處理速度明顯比 Intel 的 Xeon Phi 快速。
GPU 執行關鍵科學應用程式時,獲得成果的速度為 Xeon Phi 的 2 至 5 倍。


HPC 的核心在於應用程式效能,GPU 經過證實可提供比 CPU 更優異的效能。如上表所示,在表示各種科學工作量的應用程式中,GPU 提供的加速效能約為 CPU 的 2.5 至 7 倍。即便 Intel 的 Xeon Phi 可透過最佳化勝過 CPU,GPU 效能仍比最高階的 Knights Corner 平均快 2 至 5 倍。


組織機構 應用程式 GPU 速度超越 Xeon Phi
東京工業大學 CFD 擴散 2.6 倍
Xcelerit Monte-Carlo LIBOR 交換定價 2.2 倍 - 4 倍
喬治亞理工學院 合成孔徑雷達 2.1 倍
CGGVeritas 逆時偏移 2.0 倍
Paralution BLAS 及 SpMV 2.0 倍
威斯康辛大學麥迪遜分校 WRF (氣象預報) 1.8 倍
愛爾朗根-紐倫堡大學 醫療成像 - 3D 影像重建 7 倍
代爾夫特理工大學 藥物研創 3 倍
個別結果顯示 GPU 的效能為 Xeon Phi 的 2 倍以上。(2014 年 1 月以後的資料)

現今在各種領域已有超過 200 個應用程式透過 GPU 加速取得成果。

關閉
瞭解更多
實證: 在 Phi 上「重新編譯與執行」會降低應用程式的處理速度。
開發人員只需在 Phi 上「重新編譯與執行」應用程式,無需變更 CPU 程式碼,這項概念雖然具吸引力,但卻是誤導行為。此方式獲得的成果效能通常會比 CPU 效能慢上許多,使加速產生反效果。
雖然在 Phi 上可簡易重新編譯與執行,但是程式碼的執行速度卻比 CPU 緩慢許多。 系統與設定詳情2 (2013 年 8 月後的資料)
在 Phi 上簡易重新編譯以原生執行時,亦可套用至各種編碼,但這麼做會降低應用程式的效能;根據上表顯示,Phi 的處理速度比 CPU 緩慢至少 5 倍。

「重新編譯與執行」方式面臨的各式技術挑戰,在 「沒有白吃午餐(No Free Lunch)」部落格, 中有詳細描述,包括「阿姆達爾定律」的序列程式碼部分。與現代 CPU 核心相比,Phi 核心 (以舊 Pentium 設計為基礎) 的序列效能表現不佳,導致在 Phi 上原生執行的序列程式碼部分效能明顯降低。

實際上,為讓 CPU 恢復相同效能,開發人員必須先取得程式碼進行重新編碼,然後設法重構及最佳化程式碼,才能提升效能。

最後,無論是否透過 Phi 或 GPU 加速,都需要花費一些功夫才能獲得平行運算的效能。「重新編譯與執行」方式剛開始對開發人員而言,充其量會帶來少許幫助,但最後結果卻註定令人失望。
關閉
瞭解更多
實證: 為 GPU 與 Phi 進行編程都需要耗費相同心力,但結果卻是 GPU 的效能最顯著。
採用相同的最佳化技術。開發人員投入的心力相同。GPU 加速效能卻快 2 倍。
Method GPU Phi
Libraries
CUDA Libraries + others

Intel MKL + others
Directives
OpenACC

OpenMP + Phi Directives
Native Programming Models
CUDA

Vector Intrinsics
開發人員利用程式庫、指令或語言擴充編程加速器,並最佳化效能。 (2013 年 8 月後的資料)
GPU 與 Phi 或許在某些部分不同,但卻同屬平行處理器。開發人員必須投入相同心力,使用一致的最佳化技術,在 Phi 或 GPU 上接觸大量平行運算工作。

如上表所示,開發人員利用三種相同方式加速程式碼,例如程式庫、指令,以及 GPU CUDA 或 Phi 內部向量等語言擴充。

至於為 Phi 與 GPU 所耗費的編程功夫,與多數人所理解的一樣,是十分類似的。

下方圖表的 N 主體核心程式碼說明任一加速器最佳化所需的最佳化技術與耗費心力比較。雖然程式碼的變更程度基本上相同,但是在 GPU 上的效能卻明顯超越 Phi。 下載最佳化範例
簡易的 N 主體程式碼對照顯示,雖然使用相同的最佳化技術,但 GPU 處理速度卻明顯提升。 系統與設定詳情3 (2013 年 8 月後的資料)
瞭解更多
關閉
「雖然可輕鬆運用 Phi 進行編程,但是你也必須為 Phi 在CUDA 量化程式碼。」
Karl Schultz 博士
德州先進運算中心 (TACC) 科學應用部門主任
資料來源: HPCWire, 雜誌,2013 年 5 月 17 日
「從 Intel Xeon Phi 取得的成果令人失望透頂…即便聽說 Xeon Phi 可輕鬆進行編程,我們仍費盡千辛萬苦透過量化微調才建立起效能良好的解決方案。」
「我們的 GPU 程式碼與 Xeon Phi 的極為相似,但我們以 SIMT 運作取代 SIMD 運作。」
「雖然在 Xeon Phi處理器上跑程式很容易,但是我發現對晶格波茲曼法 (Lattice Boltzmann) 應用,使用 CUDA 及 NVIDIA GPU 更容易達到持續的高效能。」
Sebastiano Fabio Schifano博士,義大利費拉拉大學 (University of Ferrara) 數學與資訊系
一旦您看過這些實證,便能理解加速運算崛起之因。現在,GPU 能讓開發人員事半功倍。選擇 GPU 加速平行程式碼是明智的決定。就某程度而言,這也說明了為何科學研究人員在今年發表的 GPU 加速成果數量是 Phi 的 10倍,4 更說明了現今 HPC 系統選用 NVIDIA GPU 的人數為 Intel Phi 的 20 倍的原因。5
grey-line.png

基準測試設定註解:
AMBER: SPFP-Cellulose_production_NPT,1x E5-2697v2 + Xeon Phi 7120P,1x E5-2697v2 @ 2.70GHz + Tesla K40
MiniMD: KokkosArray- LJ forces,86 萬 4 千個原子,雙重精確度,2x Xeon E5-2667 + Xeon Phi 7120, 2x Xeon E5-2667 + Tesla K40
Monte Carlo RNG DP: 歐洲期權定價,2x Intel® Xeon® 處理器 E5-2697 v3 + Tesla K40 GPU,Intel 在網站上提供 Xeon Phi 效能結果
THogbomClean: 2x Xeon E5-2697 v2 + Xeon Phi 7120,2x Xeon E5-2697 v2 + Tesla K40c
Binomial Options SP: 2x Xeon 處理器 E5-2697 v3 + Tesla K40 GPU,Intel 在網站上提供 Xeon Phi 效能結果
NAMD: APOA1,2x Xeon E5-2697v2 + Xeon Phi 7120,2x Xeon E5-2697v2 +Tesla K40
STAC-A2: Warm Greek,2x E5-2699v3 CPUs + Xeon Phi 7120A,2x Intel Xeon E5-2690v2 + Tesla K80