在這款重要晶片上,誰能撼英偉達?

在一片山林裡有一隻大老虎,它是百獸之王,林子裡的動物都怕它。但卻有幾個有點本事又愛表現的傢伙,不把老虎放在眼裡。

其中一個是兔子。兔子愛打洞,兔子在洞口邊放言:老虎有什麼厲害?它打洞的技術,比得過我兔子嗎?

還有一個是猴子。猴子擅上樹,猴子在樹底下嚷嚷:老虎有什麼厲害?它上樹的速度,比得過我猴子嗎?

還有一個是騾子。騾子力氣大,騾子在草地上吵吵:老虎有什麼厲害?比起力氣大來,比得過我騾子嗎?

這時,山林中突然傳來老虎的一聲吼叫,兔子聽了,哧溜鑽進了洞裡;猴子聽了,噌噌噌爬上了樹梢;騾子聽了,一奮蹄揚塵而去。

上面這則寓言小故事是我瞎編的,還胡亂起了個名字叫——《AI晶片新品與某N字頭行業“一哥”不得不說的故事》。

在這款重要晶片上,誰能撼英偉達?

對,就是這家N字頭行業霸主

“老虎”傳說

一年下來,大大小小的晶片釋出會參加過不少次,特別是AI晶片的新品釋出。說起印象最深刻的是什麼,好像大家都沒什麼特別,只記得幾乎所有的AI晶片廠商會在釋出會上宣佈,自家產品在效能及能效比上可以吊打英偉達的某款GPU明星產品。

他們撒謊了嗎?沒有。

就像兔子說老虎沒它會打洞、猴子說老虎沒它擅爬樹、騾子說老虎沒它力氣大一樣,湧現出的AI晶片在它所擅長的特定任務上,具備的效能與算力,可能確實能夠大幅領先部分GPU,谷歌的張量計算單元(TPU)、特斯拉的自動駕駛計算單元(FSD)以及國內外各類AI 晶片新品,可能確實有這個本事。

然而,它們誰也成不了老虎,替代不了老虎在山林中的地位,撼動不了圍繞老虎而生的生態系統。

背後的因素有很多,但其中一條重要的原因是:相比TPU之流,GPU能做的事情更多。

那些AI晶片只擅長做一件事、只在那個應用場景下比GPU強。換言之,GPU的通用性或可用性更好。

通用就那麼重要?是的。

首先是成本問題。晶片當通用性足夠強、可用性足夠廣的時候,它的銷量才能撐得起研發設計、最新的製程工藝成本不斷攀升的需求。在“量”這個維度上,AI專用晶片幾乎沒有現象級的市場。

其次是靈活性問題。現在的AI演算法迭代的速度非常快,長則幾個月、短則數週就會發生變化;晶片以18個月為開發週期計,當晶片問世的時候,AI晶片可能就已經落後了。

所以,我們現在看到的是什麼,是GPU在計算力經濟大潮中叱吒風雲,英偉達股價一漲再漲。

在這款重要晶片上,誰能撼英偉達?

英偉達股價,來源老虎證券

很有意思,英偉達股價暴漲的起點是2015年,那時候什麼最流行?沒錯,“挖礦”。當時的GPU,主要被用在礦機上。

“通用王者” GPGPU興起

說起來,GPU起初也是一款專用晶片——與CPU相比,早年的GPU專用於圖形計算,且在GPU誕生之時還是以ASIC晶片的形態面世。不過,GPU在不斷的發展和演進之中,逐漸進化出越來越多的通用屬性。

特別是,自從2006年英偉達推出了CUDA。

CUDA是英偉達在GPU程式設計方面的一大創舉,無疑也是走得極為正確的一步棋——CUDA可以將C語言、C++和Fortran、Python等的程式碼直接傳送到GPU,而不需要組合語言,這奠定了GPU可以廣泛應用的技術基礎。

當然,這也得益於大資料時代,各行各業都需要更加強勁的算力。

如果GPU是山林中那隻老虎,那麼CUDA就像是一雙翅膀,如虎添翼的那種。

CUDA的推出,開啟了英偉達的GPGPU(通用GPU)戰略

——在大部分人對GPU的認識還侷限在遊戲圖形加速之時,GPGPU的時代,就從那時啟幕。

GPGPU,也有人稱之為GP2U(GP的兩次方U)。兩個GP代表著不同的含義:後邊的GP表示圖形處理(Graphic Process),和U組合一起是我們熟知的GPU(圖形處理器);前一個GP則表示

“通用目的”(General Purpose)

GPGPU不是一款具體的晶片,而是一種概念,即利用圖形處理器進行一些非圖形渲染的圖形計算。

在這款重要晶片上,誰能撼英偉達?

GPGPU與GPU、專用晶片的區別

從上圖可以看出,GPU 應用於 AI 計算,無論是雲端訓練還是終端推理,其本質都是 GPU 通用屬性的一個方向。或者說,AI 計算在 GPGPU 世界裡,只是其中一個組成部分。

只是 AI 計算這個方向潛力巨大,因此 GPU 廠商才將 AI 計算作為著重發展和宣傳的方向。

從狹義上來講,

GPGPU在GPU的基礎上進行了最佳化設計,使之更適合高效能計算,並能使用更高級別的程式語言,在效能和通用性上更加強大。

應用範圍方面,GPGPU將應用擴充套件到了圖形之外,在科學計算、區塊鏈、大資料處理、工業計算等方面,GPGPU都得到了廣泛的使用,關於它的科研成果和新應用模式也層出不窮。

由於更加通用,GPGPU的出現,混淆了CPU和GPU的界限:GPGPU可以在沒有外部CPU控制的情況下工作,

換言之,GPGPU能夠同時作為CPU和GPU工作。

並且,GPGPU的浮點運算能力、輸入輸出頻寬、平行計算能力顯著強於CPU。

如果將CPU比作是一名數學家,GPU是一名藝術家,那麼,GPGPU或許應該是……萊昂納多·達·芬奇。

在這款重要晶片上,誰能撼英偉達?

圖形處理單元上的通用計算(GPGPU)

“兵家必爭之地”

目前全球範圍內在GPGPU領域的玩家,英偉達幾乎控場之姿。

AMD

其實早在2006年左右就釋出過一款“流處理器”,算是AMD最早的GPGPU的嘗試。但當時那款“流處理器”只是GPGPU的一個“雛形”,遠未發揮出GPGPU的真正威力。

此後,AMD在GPGPU方面並沒有太多動作,甚至於後來出現的開放計算語言(OpenCL)都是蘋果公司開發推出的。這也讓AMD喪失了在GPGPU方面與英偉達對壘的機會,以至於處於追趕者的象限內。

英特爾

,也在“暗搓搓地”做通用GPU。

英特爾眼饞GPU路人皆知,其背後是一段辛酸史——從開始對GPU的不屑,到基於自家的x86架構開發獨立顯示卡,英特爾折騰了十年之久愣是沒做出來一款像樣的GPU。

近兩年傳出訊息英特爾將在2020年推出首款獨立GPU,這恐怕要得益於英特爾的重金挖人——原AMD RTG顯示卡部門負責人Raja、Zen架構的功勳領袖JimKeller、顯示卡技術市場總監Damien Triolet這幾位大神都在2018年被英特爾招入麾下。

可以想象,對於英特爾而言,都0202年了,英特爾再做傳統顯示卡的意義顯然不大,在異構計算時代,

英特爾只有瞄準資料中心,才下定決心摟響GPU這個扳機。

仔細想想,通用GPU成為兵家必爭之地很容易理解,至少有一明一潛兩大驅動因素。

明面上

,現在是異構計算的天下,近年來傳統以CPU為核心的伺服器市場增長比較平緩,而GPU伺服器的增速迅猛,年增長率據稱超60%。

潛在因素

,5G時代的到來推動了物聯網的迅猛發展,應用場景更加豐富多元,這要求雲端的計算資源能應對各種複雜場景的需求提供豐富靈活的計算支撐,工程師們肯定更願意將能“通吃”的晶片焊在伺服器上。

在這款重要晶片上,誰能撼英偉達?

晶片要適應5G時代

老虎屁股堪誰摸

圍繞GPGPU,國外已是龍爭虎鬥,反觀國內,能夠洞悉GPGPU發展機遇並付諸行動的晶片廠商少之又少。

華為

是為數不多看到通用GPU趨勢的晶片廠商之一,而且看起來正在嘗試兩條腿走路通往GPGPU的路上。

一條路是,華為透過其在手機晶片方面的積累,希望從移動端GPU出發,逐步延展至平板電腦端、桌面端、伺服器端,走這種從簡單到複雜、從小晶片到大晶片的路徑。

另一條路有點“天龍寺眾高僧合練六脈神劍”的意思。通用GPU複雜、難做,華為就“化繁為簡”,今天先做AI-GPU,明天再做“區塊鏈GPU”,後天再做“超算GPU”……到最後再來個“集大成”,“六脈神劍”通用GPU就成了。

看起來很棒對吧?但是

這種想法可能過於理想化

了。通用GPU不是簡單的“1+1”,這和

十個人會一陽指,也及不上一個人會六脈神劍

,一個道理。

據說

阿里

旗下的晶片部門也想做GPGPU,只不過阿里巴巴的野心大則大矣,只是眼下貌似還沒有集結足夠大的技術團隊支援這件事。

其他廠商中,包括寒武紀、依圖、位元大陸、燧原科技等企業,目前也都重點佈局於AI晶片。

筆者注意到在GPGPU賽道上,國內一家名為“

天數智芯

”的公司選擇了“正面剛”。

據公開資訊,這家公司目前圍繞GPGPU的系統研發。已聚集了一支百餘人的技術團隊,其中不乏AMD在美國和上海做 GPU的核心團隊成員、行業經驗超20年的世界級技術專家。產品層面,天數智芯今年剛剛試水釋出了一款邊緣端晶片,並計劃明年正式釋出GPGPU大晶片產品。

這家公司的GPGPU成色幾多,我們一起期待下。

說到這裡,研發GPGPU的難點在哪?

從硬體角度看,

最核心的是指令集。

指令集的覆蓋面、顆粒度、效率等決定一款晶片能否覆蓋到足夠寬的應用領域,對軟體開發和產品迭代是否足夠友好。

無論英偉達還是AMD的GPGPU,

指令集都在千條量級

,對比目前國內的AI晶片指令集大多都在百條以內。型別與數量的差別對映到硬體高效實現的複雜程度,差距是巨大的,在這方面國內的團隊還存在著一定的差距。

另一個重要方面就是基於硬體層的任務管理和智慧排程。

這是讓晶片從硬體層即提高算力的利用率,也就是大家常說的

實際算力

。大多數AI晶片依賴於軟體層的排程實現,這種方式有三個短板:第一增加了軟體開發的複雜度,第二降低了硬體算力的利用率,第三減緩了軟體棧迭代更新的速度。在AI領域,演算法模型、開發環境、應用場景都在加速更新,這無疑大大增加了產品落地與工程化的難度。

在軟體方面,

軟體層面最重要的是開發生態。GPGPU透過英偉達十多年的耕耘,已經建立起了一個超過160萬開發使用者的龐大而成熟的生態——CUDA。

在這個生態之外,AI晶片若需要搭建全新的生態,會帶來兩個維度的問題:第一,客戶需要冗長的適配期,從原有的開發環境切換到新的軟體生態,這不僅需要資源投入,還要推遲業務部署時間視窗,同時增加了業務的不確定性。更重要的是,不利於保護已有的軟體投資,軟體的很多部分都要重新來寫並適配,這對企業級使用者來講恰恰是非常敏感與慎重的事情。

另一個維度是產品開發端,從底層晶片與系統軟體,跳過CUDA層去直接支援開發框架,必然帶來巨大的軟體投入,不停地追趕現有框架的新版本,以及生態巨頭的新框架,這在底層軟體人員缺乏的背景下矛盾顯得尤其突出。

以上,無論硬體問題還是軟體問題,說到底都需要人,恰恰在這方面的人才是目前中國企業最缺少的。目前只有英偉達和AMD擁有豐富的團隊,這也側面解釋了為什麼英特爾折騰幾年,最後還是請了AMD的幾位大神。

在這款重要晶片上,誰能撼英偉達?

晶片行業向來都是市場論英雄

“牧村波動”的啟示

筆者不是“英偉達吹”,也不是在宣揚除英偉達之外的晶片已經沒有了機會,只是在陳述一個可能正在越來越近的事實:通用化、標準化。

1987 年, 原日立公司總工程師牧村次夫(Tsugio Makimoto) 提出,半導體產品未來可能將沿著“標準化”與“定製化”交替發展的路線前進,每十年波動一次。他把這一理念於1991 年發表在 Electronics Weekly 上,稱之為“牧村波動” (Makimoto’s Wave)。

近年來可程式設計晶片的高速發展, 驗證了“牧村波動”的正確性,得到了 Xilinx、Altera 等可程式設計晶片商的響應。德國一位教授甚至把“牧村波動”稱為“牧村定律”,認為在半導體技術逼近極限的情況下, “牧村定律”將超越摩爾定律而存在, 半導體技術未來要依靠“牧村定律”維持其高增長的創新速度。

2020 年將至,過去數年我們一直在呼喚AI 晶片和高效能計算晶片,如果 Makimoto’s Wave 仍然奏效,那麼下一個波峰將是超高靈活度整合的晶片。

在這款重要晶片上,誰能撼英偉達?

牧村波動

有一點毋庸置疑,算力經濟時代,整個世界正面臨半導體市場的增長大潮,市場上也湧現出各種各樣的半導體公司,老牌的、成熟的、初創的,百舸爭流。而NVIDIA早早憑藉強大的GPU+CUDA方案切入各個領域,用大筆研發投入和時間堆積起堅不可摧的生態城牆,而這恰恰是國內外其他玩家的薄弱環節。

國產晶片企業,特別是處在創業初期的那些,“正確選擇勝過百倍努力”。筆者認為可通用的GPU確然是個非常值得投入的方向。GPGPU誕生也只有十數年時間,“護城河”並非堅不可摧。

只不過在現階段,國產替代方案還要在CUDA生態的基礎上推廣自己的晶片產品,在相容CUDA的同時,建設新生態。在這個過程中,每一步都關鍵且充滿挑戰。