最近EDN中國版編輯看到網入上有人討論,為什麼中國超級電腦很「牛」(編按:相信大家對這個詞都不陌生…很厲害的意思),但CPU不行的話題。好多年前,小編還在讀大學時就注意到了這個問題,但現在還是這樣嗎?我想可以從超級電腦用CPU和民用CPU這兩個方面來討論。首先我們來看超級電腦用CPU。

神威˙太湖之光登頂500強榜單

先看看這則新聞。2016年6月20日德國國際超級電腦大會(ISC)公佈了新一期世界電腦500強榜單,中國最新超級電腦神威˙太湖之光榮登第一。最受關注的是,神威˙太湖之光實現了核心處理器的全國量產。

神威˙太湖之光擊敗了霸佔榜首3年的「天河2號」。運算速度達到93PFLOPS,理論最高速達125.4PFLOPS,這一數值約為天河2號的兩倍。

有別於天河2號採用的英特爾(Intel)Xeon E5-2692v2 12核處理器,神威˙太湖之光首次採用中國產核心處理器申威26010(SW26010)。它整合了260個運算核心,每塊運算能力為每秒3萬多億次,約等於20台家用電腦…

在超級電腦方面,異構運算已取代同構運算

在超級電腦方面,異構運算已基本取代了同構運算。而且,隨著英特爾大力發展CPU+FPGA;AMD戮力研發CPU+GPU,異構運算也將越來越多地進入人們的視野。在國外公司積極佈局異構運算的同時,中國公司也不甘落後。

事實上,最近幾年曾經在TOP500刷榜,或者排名靠前的超級電腦都採用了異構運算——中國神威˙太湖之光、美國泰坦、中國天河1號和天河2號。

泰坦有18,688個運算節點,每個運算節點由1個16核心AMD Opteron 6274處理器和1個Nvidia Tesla K20加速器組成,共計299,008個運算核心,屬於CPU+GPU。天河1號使用了14,336片英特爾 Xeon X5670處理器和7168片Nvidia Tesla M2050高性能運算卡,屬於CPU+GPU。

天河2號有16,000個運算節點,每個節點由2片英特爾 E5 2692和3片Xeon PHI組成,共使用了32,000片英特爾 E5 2692和48,000片Xeon PHI,屬於CPU+眾核晶片。正在升級的天河2號則將美國的Xeon Phi換成了自主研發的矩陣2000,屬於CPU+DSP。

申威處理器強在眾核堆運算力

仔細研究不難發現,超級電腦的運算力大小並不僅僅依賴CPU。超級電腦需要的是浮點運算能力,而目前市售CPU先天就有不足,比起GPU和其他輔助處理器都差得遠。

在天河一號和天河二號中,真正為超級電腦提供運算力的是GPU和輔助處理器。那時候處理器都是直接買的,天河一號和天河二號基本上用的是英特爾Xeon E5/Xeon Phi,還有AMD的顯示卡。之後美國開始對中國限制出口,主要是禁運Xeon Phi、Nvidia Tesla等產品,CPU倒是沒那麼嚴格。

中國在神威˙太湖之光上就開始使用自行研發的處理器了。記得去年中國清華大學微納電子學系魏少軍曾表示,報紙上、媒體上或者專家講的一些話,把中國神威˙太湖之光的發展和美國對中國的禁運兜在一起是胡說八道。神威˙太湖之光用到的電腦晶片是我國2009年就計畫的專案,中國經過7年的時間努力實踐計畫,和美國制裁沒有半點關係。

總體來看,神威˙太湖之光整套系統使用了40,960顆處理器,總計擁有10,649,600顆核心、1.31PB記憶體,理論峰值性能125,435.9TFlops,實際最大性能93,014.6TFlops,效率達74%,相比之下天河二號的效率只有62%。

但是,神威這麼強的運算能力實際是「堆疊」出來的——SW26010本質上和Intel LGA介面的Xeon Phi的設計思路相似,是眾核心堆疊出來的運算力,但超級電腦比的就是並行度和設備的規模。另外其在製程方面是28nm,能效比英特爾強得多。

20171225NT01P1

20171225NT01P2

神威的處理器雖然看起來並不是很出色,但是整個超級電腦強就強在並行處理十分巧妙。中國CPU落後人家這麼多年,還被技術封鎖,短期內超越並不十分可能,因此,科研人員將目光轉向了處理器的相互連接上,這也是為什麼神威能夠被美日等國稱讚的原因。

另外它能效比也非常高。神威的能耗為15.371MW,這個能耗看起來挺大,但是比天河二號的能耗17.808MW小。神威在提升浮點運算能力的同時,還降低了能耗。

但是,就算最新的神威˙太湖之光也存在著短處。它使用的是相對較舊的記憶體晶片技術,這意味著與美國目前運算能力最強的超級電腦相比,它的處理器資料存取速度會受限。另外,這台新型中國超級電腦仍舊是基於美國光纖網路技術研發,該技術主要用於連接數以千計的微處理器晶片。

另外,除了CPU設計的問題,CPU加工也很重要。一方面需要非常好的製程流程,另一方面製造高性能微納電子元件需要很精密的特種儀器與設備,這些工業儀器設備一台動輒幾百上千萬美金,其背後也有一個龐大的現有利益鏈。

比如光刻機,做CPU最核心的設備。全世界最好的光刻機是荷蘭製造,長期供應英特爾、高通(Qualcomm)等少數企業。荷蘭人不敢得罪這些大金主,所以也就不太可能把最好的設備賣給中國。

神威的CPU什麼時候可用到PC中?

市場上不可能買到SW26010這類處理器,而且它給PC用也毫無意義。現在PC端CPU已經被x86佔領;行動平台已被ARM佔據,這兩個架構在兩個平台上已經積累的大量的軟體基礎,互相之間都很難進軍對面的領域。英特爾在行動領域狂砸了100億美元,最後的結果也只是大敗而歸。

另外一方面,神威˙太湖之光使用的SW26010的眾核架構並不適合消費級CPU,原因就是在於單核性能羸弱。曾經有一個很經典的比喻,把CPU比作四個大學教授,把GPU比作幾千個小學生。這樣看,SW26010和英特爾 Xeon Phi,大概相當於幾十、幾百個中學生了。

即使是以浮點運算為標準,SW26010一個核心也只有不到12GFLOPS的水準,而英特爾的CPU單核浮點運算能力又是多少呢。

20171225NT01P3

Haswell i7 4770k在使用AVX2指令集以後,雙精度浮點性能可以達到224GFLOPS;單核已經達到56GFLOPS,相比IVB已經翻了好幾倍。不過這帶來的實際體驗上的差距基本上就是擠牙膏,甚至還因為加入的指令集給了Haswell一個綽號——Hotwell。

當然CPU不是專門用來做這種浮點運算的。英特爾最新的輔助處理器Xeon Phi包含有72個輔助處理器核心,透過更為強大的AVX512指令集也實現了3TFLOPS的運算能力,一個核的浮點運算能力來說並不輸Haswell和Skylake多少。如果拉到相同頻率,可能比Skylake還要強,這也只是使用Atom核心改進出來的輔助處理器而已。即使被AVX512賦予了強大的浮點運算能力,當民用CPU用單核心也不過是在Atom的水準上。

而無論從功耗還是從浮點運算能力進行判斷,SW26010在功耗如此低,而且單核浮點能力遠弱於Xeon Phi的情況下,單核恐怕可能也只有Atom的幾分之一了,可以說是普遍弱於現在的PC,以及手機處理器。

而民用PC的應用大多數比較需要單核,基本上2~4個核就能滿足日常需求,多了也沒用,e5拿來跑遊戲明顯不如i7,當然在超級電腦上就不一樣了。大量並行度高的運算,並不是太在意單核性能,所以SW26010還是只能用於超級電腦平台,而且對於超級電腦來講,也不是所有的運算都適合神威˙太湖之光這種架構。

所以,SW26010這種CPU和民用PC市場沒關係。另外,除了適應不了一般PC市場外,沒專利、沒授權也是SW26010無法商用的原因。