灣流G550的機艙裏,遮光板被拉下了一半。
兩萬英尺高空的刺眼陽光,被過濾成昏黃的暖色。
空氣循環系統嗡嗡作響,但這並沒有掩蓋住那臺Alienware筆記本電腦發出的渦輪風扇般的咆哮聲。
克萊爾正盤腿坐在米白色的真皮沙發椅上。
她今天沒穿那種只有在夜店纔會出現的緊身衣,而是換了一套寬鬆的Alexander Wang灰色運動套裝,臉上敷着一張慘白的面膜,只有眼睛和嘴巴露在外面。
她的手指在鍵盤上敲得飛快,並沒有因爲臉上那張昂貴的“前男友面膜”而減慢半分。
“這不對勁,這真的不對勁。”
克萊爾嘟囔着,因爲不敢做大表情,聲音聽起來悶悶的。
她用力敲了一下回車鍵,屏幕上滾動的代碼流戛然而止,跳出一行紅色的報錯。
“哪裏不對?”
林允寧坐在對面的座椅上,手裏拿着一本最新的《物理評論快報》,頭也沒抬,“是內存溢出還是死鎖?”
“是運行速度。”
克萊爾揭下面膜,露出一張因爲熬夜和乾燥機艙環境而略顯疲憊的臉。
她隨手把面膜扔進垃圾桶,指着屏幕上的性能監控圖表。
“老闆,我們在芝加哥的時候,你不是嫌FPGA的通用性太差,開發週期太長,非要讓我們試試用市面上最新的英偉達Tesla顯卡來跑那個流體模型嗎?”
她把筆記本轉向林允寧。
屏幕上顯示着四張英偉達Tesla C1060計算卡的運行狀態。
“我把咱們的算法移植到了CUDA環境裏,還特意用了一臺插滿四張卡的工作站做測試。
“理論上,這四張卡的浮點運算能力加起來,足夠模擬小規模的湍流了。
“但是你看這個效率曲線。”
林允寧放下雜誌,湊近看了看。
那條代表計算效率的綠色曲線,像是個喝醉了的酒鬼,忽高忽低,大部分時間都在低位徘徊。
“GPU的核心利用率只有40%?”林允寧皺眉。
“因爲它們都在等。”
克萊爾抓起桌上的依雲噴霧,對着臉狂噴了一通,水霧在冷氣中瀰漫,“這就好比你僱了四個法拉利車手去送外賣。車手跑得飛快,但是取餐口只有一個,而且是個只能過自行車的小巷子。
“卡1算完了一部分數據,想把邊界條件傳給卡2。它不能直接扔過去,它得先把數據打包,通過那條該死的PCIe總線傳回CPU內存,CPU蓋個章,再慢吞吞地塞給卡2。
“這一來一回,幾百毫秒就沒了。對於我們要算的納維-斯託克斯方程來說,幾百毫秒足夠流體發生三次湍流突變了。
“大部分時間,這些昂貴的顯卡都在空轉,等着CPU給它們餵飯。”
方雪若坐在過道另一側,正在覈對一份厚厚的財務報表。
聽到這裏,她摘下眼鏡,揉了揉鼻樑。
“這就是你要去見黃仁勳的原因?”
方雪若看向林允寧,“既然我們的FPGA已經被美國商務部盯上了,甚至連示波器都買不到,你就打算用這種‘效率低下的通用顯卡來替代?”
“不是替代,是妥協,也是另一條路。”
林允寧靠回椅背,看着舷窗外逐漸清晰的加州海岸線。
“FPGA是把‘狙擊槍’,那是爲了解決特定問題而生的。用來控制火箭或者反應堆,它無敵。
“但接下來我們要驗證的那個‘質量間隙問題,需要的不是精準控制,而是暴力窮舉。那是海量的數據吞吐,需要的是‘地毯式轟炸’。
“這時候,只有GPU堆出來的算力能滿足需求。但前提是......”
林允寧指了指克萊爾的電腦屏幕:
“我們得把這堵牆拆了。如果不解決多卡互聯的通訊瓶頸,買再多顯卡也是堆廢鐵。
“老闆,所以你是去教英偉達怎麼做顯卡?”
克萊爾挑了挑眉,一邊拍打着臉頰促進精華吸收,一邊吐槽,“那個穿皮衣的老頭會聽你的嗎?聽說他脾氣可不太好,你們不會打起來吧。”
“不是教。”
林允寧笑了笑,“是提需求。
“我們是甲方,我們遇到了痛點,而這個痛點,恰好也是他未來的救命稻草。”
飛機震動了一下,起落架放下的機械聲傳來。
聖何塞的地面越來越近,硅谷那特有的灰褐色地貌和密密麻麻的低矮建築羣展現在眼前。
聖何塞國際機場(SIC),私人飛機航站樓。
艙門打開,加州特有的乾熱空氣瞬間湧入,帶着棕櫚樹和焦油瀝青混合的味道。這與芝加哥那種溼冷的寒風截然不同,讓人毛孔瞬間張開。
兩輛黑色的凱迪拉克Escalade已經在停機坪等待。
林允寧剛走下舷梯,就習慣性地壓了壓帽檐。
雖然這裏是私人領地,沒有狗仔隊的閃光燈,但他依然敏銳地感覺到了某種窺視。
在距離車隊大約五十米的鐵絲網外,一輛不起眼的黑色福特SUV正安靜地停着。
車窗貼着深色的膜,但在加州強烈的陽光下,依然能隱約看到裏面坐着兩個輪廓。
“BIS的‘客服’服務還真是周到。”
克萊爾戴上一副誇張的貓眼墨鏡,把那個裝滿所謂“核心代碼”的鋁合金箱子扔給保鏢,吹了聲口哨,“從芝加哥跟到加州,他們是不是有裏程積分?”
“只要他們不進會議室,就當是免費安保了。”
林允寧鑽進車裏,把冷氣調大了一檔,“畢竟我們這次談的內容,在某些人眼裏,可能比核武器還敏感。”
方雪若跟着上車,手裏拿着行程表:
“第一站是門洛帕克的瑰麗酒店(Rosewood Sand Hill)。黃仁勳已經到了,他在那裏有個長租的套房,專門用來見重要客人。
“明天上午去斯坦福SLAC見伯頓·裏希特教授。
“允寧,我要提醒你一句。現在的英偉達情況並不好。股價跌到了10塊錢以下,還有那個著名的‘封裝門”醜聞,戴爾和惠普都在索賠。
“老黃現在的壓力很大,他可能沒有太多耐心聽我們講未來的願景。”
“正因爲他壓力大,他才更需要聽。”
林允寧看着窗外飛速後退的101號公路。路邊的廣告牌上全是Web2.0時代的標語——Facebook、Twitter、Zynga。
那是屬於軟件和互聯網的狂歡,是輕資產的黃金時代。
而在這一片繁榮之下,做底層硬件的人正在泥潭裏掙扎。
“他現在就像個溺水的人。我們不是去賣願景的,我們是去遞繩子的。”
門洛帕克,瑰麗酒店。
這裏是沙山路(Sand Hill Road)的心臟,硅穀風險投資的權力中心。
低調奢華的木質結構建築掩映在橄欖樹和薰衣草叢中,空氣裏瀰漫着昂貴的香薰和金錢的味道。
林允寧並沒有帶太多人。只有雪若和抱着筆記本電腦的克萊爾。
走進那間私密會議套房時,黃仁勳正站在露臺上打電話。
和傳聞中一模一樣,哪怕是在加州接近三十度的高溫裏,哪怕是在室內,這位英偉達的創始人依然穿着那件標誌性的黑色皮衣。
2009年的黃仁勳看起來比後來要精瘦一些,頭髮還沒完全變白,但眉頭緊鎖,那種長期處於戰鬥狀態的緊繃感隔着幾米遠都能感覺到。
“......我知道!如果是封裝材料的問題,我們會負責到底!但不要用‘全部召回’這種詞來威脅我,那是在殺雞取卵!”
他對着電話吼了幾句,然後掛斷,深吸了一口氣,轉身時臉上已經換上了一副得體的,雖然略顯疲憊的笑容。
“林先生,久仰。”
黃仁勳走過來,握手力度很大,手掌乾燥有力,帶着一股不服輸的勁頭,“我在GitHub上看過你的那個FPGA流體代碼。非常漂亮。那種對並行度的壓榨,簡直像是某種暴力美學。
“說實話,我本來以爲你會一直待在芝加哥搞你的專用芯片。”
“過獎了,Jensen。
林允寧微笑着回應,並沒有因爲對方比自己年紀大,資格老而顯得拘謹,“FPGA雖然好,但它畢竟是個‘偏科生。我現在遇到的麻煩,只有你的GPU能解決。當然,前提是它得先把某些毛病改改。”
兩人落座。
服務員送來了冰水和加州特色的堅果拼盤。
“毛病?”
黃仁勳挑了挑眉,拿起一顆核桃捏在手裏,並沒有喫,“你是說我們的驅動不夠穩定?還是CUDA的學習曲線太陡峭?”
“不,這些都是軟件問題,軟件問題好解決。”
林允寧搖了搖頭。他對克萊爾使了個眼色。
克萊爾打開筆記本電腦,沒有展示那些炫酷的流體動畫,而是直接把那張慘不忍睹的效率曲線圖推到了黃仁勳面前。
“這是我們在芝加哥測試的數據。四張Tesla C1060並聯。”
林允寧指着那條趴在地上的線,"Jensen,我對CUDA非常有信心,但我對PCIe沒信心。
“我的流體計算需要每秒TB級的數據在顯卡之間交換。但在現在的架構裏,GPU要想把數據給GPU1,必須先經過CPU,再經過內存,走一個漫長的'U'型彎。”
林允寧從桌上的便籤盒裏抽出一張白紙,拔開簽字筆的筆蓋。
他在紙上畫了兩個方塊,代表GPU,中間畫了一個圓圈,代表CPU。
“這就像是兩個坐在隔壁辦公室的鄰居,想說句話,卻必須先把信寄到郵局,蓋個戳,經由郵遞員分揀,再送回來。
“無論你的GPU核心頻率多高,無論你有多少個流處理器。只要這個通訊機制不改,它們就是一羣被堵在高速公路入口的法拉利。
“只能怠速燒油,沒法全速衝刺。”
黃仁勳盯着那張圖,手裏的核桃被他捏得咔咔作響。
他是懂技術的,他當然知道這個痛點。但他現在的處境,讓他很難在這個時候去動底層架構。
“林,你知道改變總線協議意味着什麼嗎?”
黃仁勳把核桃扔回盤子裏,聲音低沉,“這意味着我們要去跟英特爾和AMD談判,要去動主板廠商的蛋糕,甚至要重新設計GPU的物理接口。
“現在的英偉達,正在爲了活下去而跟全世界打官司。你讓我現在去搞這種‘基建工程'?”
“不是現在。”
林允寧看着黃仁勳的眼睛,語氣平靜,“我知道你現在很難。所以我給你帶來了一個不用動硬件,就能立刻提升效率的‘止痛藥’。”
他示意克萊爾切換窗口。
屏幕上出現了一行行枯燥的代碼日誌,那是針對矩陣運算的性能測試。
“這是我們內部開發的一個並行計算加速庫。
林允寧指着屏幕,“我們針對CUDA做了一些深度的指令集優化。主要是針對矩陣乘法(GEMM)和卷積運算。
“我們發現,如果不依賴通用的線性代數庫,而是針對GPU的緩存特性手動管理顯存切片,可以讓浮點運算效率提升120%。”
黃仁勳的眼睛瞬間亮了。
現在的CUDA生態還很荒涼,大多數科研人員還在用着效率低下的通用庫。能提升120%效率?這意味着英偉達的顯卡在科學計算領域瞬間就能在性價比上碾壓英特爾的CPU。
這對現在的英偉達來說,是急需的強心針。
“你想要什麼?”黃仁勳身體前傾,商人本能讓他立刻意識到這是筆交易。
“我把這套庫的源代碼授權給你,你可以把它集成進下一代的CUDA版本裏——也許可以叫它cuDNN的雛形。”
林允寧提出了他的條件,“作爲交換,我需要你們下一代架構——代號Fermi——的底層驅動權限,我要能直接操作寄存器的那種。
"B......"
林允寧拿起筆,在那張白紙上那兩個代表GPU的方塊之間,畫了一條粗粗的直線,直接繞過了中間的CPU。
“在未來的硬件設計路線圖上,認真考慮一下這個‘橋’。
“如果我們在硬件層面上,給GPU開一個專用的高速互聯接口。讓它們可以直接訪問對方的顯存(Unified Memory Access)。
“那它們就不再是插在主板上的外設卡,而是一個巨大的、分佈式的超算單元。
"Jensen,遊戲顯卡可能會受經濟週期影響,但科學計算的需求是無底洞。只要你把這條路修通了,以後全世界的科學家都會給你打工。
會議室裏安靜了片刻。
窗外,一隻蜂鳥懸停在薰衣草花叢中,翅膀高頻振動,發出嗡嗡的聲響。
黃仁勳看着那張草圖,又看了看林允寧。
他看到了野心。
不是那種想要顛覆誰的狂妄,而是一種純粹的、對算力極限的渴望。
"NVLink......”
老黃喃喃自語,彷彿在品味這個概念,“或者是類似的某種東西。
“好。這個‘橋’,我會讓架構團隊去研究。Fermi的底層權限,我也可以給你。”
他伸出手,這次的握手比剛見面時更加用力,甚至帶着一絲盟友般的默契:
“林,你是個瘋狂的傢伙。但我喜歡瘋狂。在這個行業裏,只有偏執狂才能生存。”
半小時後。
黑色的凱迪拉克駛離了瑰麗酒店,沿着280號公路向斯坦福大學的方向駛去。
兩輛雪佛蘭Suburban依然不遠不近地吊在後面,像兩條甩不掉的尾巴。
方雪若坐在副駕駛,手裏拿着剛纔簽署的備忘錄,眉頭微皺。
“允寧,我們把核心加速庫給了英偉達,這會不會是在培養一個巨頭?”
她有些擔憂,職業本能讓她對這種核心技術的轉讓感到不安,“如果以後他們壟斷了AI算力市場,反過來卡我們怎麼辦?”
“我們需要巨頭,雪若姐。
林允寧降下車窗,加州乾爽的風吹亂了他的頭髮。
他看着窗外飛速後退的硅谷景色,目光深遠。
“單靠以太動力一家公司,造不出整個生態。我們需要有人去鋪路,去把GPU計算變成標準。只有路鋪好了,我們的車才能跑得快。
“至於以後……………”
林允寧笑了笑,“等那個‘橋’真的造出來了,他們會發現,這世界上最會過橋的人,還是我們。”
他轉過頭,看向前方路牌上那個紅色的標誌——“SLAC National Accelerator Laboratory” (斯坦福直線加速器中心)。
那是物理學的聖地,也是他此行的終極目的地。
“算力的問題,算是暫時找到了盟友。
“接下來......就是去SLAC。”
林允寧摸了摸貼身口袋裏的一張摺疊起來的紙。
那上面寫着他在芝加哥那個夜晚推導出的質量間隙公式,以及一組預測的膠質量數據。
那是比商業合同更重的東西。
那是用來和上帝攤牌的底牌。
“讓我們去看看,那些實驗物理學家看到‘預言”成真時,會是什麼表情。”