要搞清楚CUDA是什麼,先要明白CPU和GPU的區別。
CPU架構有複雜的控制單元和巨大緩存。
這種設計是為了處理複雜邏輯運算。這要求CPU必須有很強的單核性能。
但CPU物理核心數量有限,就算最高端的伺服器CPU,面對海量簡單計算時,也會因為線程數量限制而排隊。
快看網的推薦算法,本質是海量矩陣乘法。
這些計算本身不複雜,不需要多強邏輯推理,但數量極其龐大。
讓CPU去算矩陣,是高射炮打蚊子,效率極低,而且容易把伺服器撐爆。
GPU架構完全不同。
GPU沒有複雜控制單元,內部塞滿了成百上千個簡單的流處理器。
這些流處理器只能做基礎運算。
但因為數量龐大,它們可以同時並行處理海量數據。
這完美契合了AI算法和推薦系統需要的大規模並行計算。
可是,硬體再強,也需要軟體驅動。
在CUDA出現前,程式設計師想用顯卡算力做非圖形渲染的通用計算,簡直是噩夢。
他們必須把非圖形數據,強行偽裝成圖形像素數據,通過複雜圖形API通道傳給顯卡。
等顯卡算完,還要把輸出像素數據反向解析回通用數據。
這種操作極其繁瑣,寫錯一行代碼,就會導致程序崩潰。
所以,空有強大並行算力,卻沒人能輕易用在非遊戲領域。
直到黃仁勛做出大膽決定,推出CUDA。
CUDA全稱是計算統一設備架構。
它本質是一個軟體開發平台和編程模型。
英偉達在每張顯卡底層嵌入了CUDA硬體指令集,同時在軟體層面推出一整套編譯器、庫文件和開發工具。
CUDA最偉大也最可怕的地方在於,它允許程式設計師直接用最普及的C語言,調用顯卡底層算力。
程式設計師不再需要學晦澀的圖形API,也不需要偽裝數據。
只要會寫C語言,只要裝了CUDA開發包,就能輕鬆把一段並行計算代碼跑在英偉達顯卡上。
這極大降低了GPU通用計算門檻。
華爾街投資人不理解,為什麼一家賣硬體的公司,要養幾千軟體工程師維護一個免費給開發者用的平台。
但黃仁勛頂住壓力,強行推廣CUDA。
他甚至跑到各大學計算機系,免費發支持CUDA的顯卡,鼓勵學生用CUDA做科研計算。
這是一個極度長遠的陽謀。
隨時間推移,越來越多程式設計師習慣用CUDA。
各種基於CUDA的科學計算庫、深度學習框架開始在開源社區生長。
當2025年大模型時代爆發,全球科技公司都需要海量算力訓練AI時,他們發現一個絕望的現實。
所有成熟AI算法,所有好用的深度學習框架,底層代碼都是基於CUDA寫的。
而CUDA,是英偉達的私有閉源技術。
它只支持英偉達自家顯卡。
如果買一批AMD顯卡,會發現根本無法運行主流AI算法,因為AMD硬體解析不了CUDA指令。
想在AMD顯卡上跑通大模型,必須把整個軟體生態從底層重寫。
這個工作量,大到沒有公司願意承擔。
這就是為什麼,到了AI時代,所有人都只能捏著鼻子去搶購英偉達高價算力卡。
算力可以製造,但生態一旦形成,就是一道嘆息之牆。
夏冬放下手機,揉了揉眉心。
他現在處境很矛盾。
如果批准吳澤明的遷移方案,盛夏科技算力危機立刻就能解決。
憑藉CUDA的並行計算能力,快看網推薦算法效率至少提升數十倍,伺服器壓力徹底釋放。
但這等於替英偉達測試他們還不成熟的早期生態。
盛夏科技作為國內目前數據量最大、算法最先進的網際網路公司,一旦全面擁抱CUDA,在這個平台跑通所有推薦邏輯。
那就會形成路徑依賴。
盛夏科技的程式設計師會越來越習慣調用CUDA函數庫。
等幾年後,陸奇和國內團隊把盛夏科技自己的通用GPU流片成功。
夏冬總不能指望自家硬體去支持對手的私有協議。
到那時,盛夏科技自己開發的GPU,會面臨完全沒有軟體可跑的尷尬。
要讓手下這批習慣了CUDA的程式設計師,重新學一套新指令集,把快看網龐大的底層代碼全部重寫。
那將是一場災難。
時間成本和試錯成本,都會拖垮整個公司。
夏冬在辦公室里踱步。
不能因噎廢食,伺服器必須救,現階段只有英偉達顯卡加CUDA能解決燃眉之急。
但這口毒奶,不能毫無防備地咽下去。
一旦底層的代碼全部基於CUDA編寫,盛夏科技的整個軟體生態就會被牢牢綁死在英偉達的戰車上。
將來盛夏科技自己研發的通用GPU造出來了,難道還要去懇求老黃開放接口授權嗎?
老黃絕對不會同意。
到時候自己花上百億造出來的晶片,就會變成一堆沒有軟體適配的廢矽片。
重寫底層代碼?
這個體量的代碼重構,必定是個大工程,傷筋動骨。
夏冬站起身,在寬敞的辦公室里來回踱步。
他陷入了一個思維的死胡同。
硬體打不過,軟體又被綁定。
似乎是個無解的死局。
突然,他的動作停住了。
一個極其大膽,甚至有些瘋狂的想法,在他的腦海中成型。
他猛地拍了一下大腿。
暗罵自己愚蠢。
幹嘛非要去跟老黃在底層硬體框架上死磕?
未來的假想敵英偉達,真正的護城河根本不是那塊矽板,而是CUDA這個閉源軟體生態。
全球的程式設計師都習慣了用CUDA寫代碼,這才是最可怕的路徑依賴。
夏冬咧開嘴,思路瞬間全打開了。
既然CUDA是護城河,那自己就不需要在起步階段死磕硬體。
打敗魔法的最好方式,就是創造一種新的魔法。
他完全可以做一個跨平台的類似CUDA的底層框架。
把複雜的底層指令集全部封裝起來,給程式設計師提供一套極其簡單好用的高級API接口。
現階段,這個框架的底層完美兼容英偉達的顯卡,利用老黃的算力來培養自己的開發者生態。
等到幾年後,盛夏科技自己的通用GPU流片成功。
開發者們根本不需要去學什麼新指令集,也不用重寫代碼。
只需要在開發框架的後台,把運行環境從「英偉達」切換成「盛夏」就行了。
這樣一來,英偉達現在賣給他的每一塊顯卡,都是在給盛夏科技未來的軟體生態打工。