ColorOS 做「異構計算」,背後是對智慧硬體趨勢的思考。
採寫 | 何爾
用裝載高通驍龍 845 的旗艦機玩 25 分鐘「吃雞」,手機溫度就會上竄 11 度,大部分手機在執行這樣的影象密集型遊戲時,溫度都能到達 40℃以上。長時間玩遊戲,彷佛手裡捂個「暖寶寶」,還會影響到畫面幀率和遊戲體驗。
對手遊黨來說,手機「發燒」一直沒有什麼特效藥,面對幀率下降帶來的操控不順滑、有明顯示卡頓感等現象,市面上存在的不過是一些「揚湯止沸」的辦法:調成低畫素模式、勤清記憶體、或者裝散熱神器物理降溫。發熱還可忍,如果熱到掛機就要坑隊友了。
開發者和玩家想在手機上體驗細膩的畫面,流暢的操作,歸根到底都會變成晶片的負荷。
一塊小小的手機晶片 SoC(系統級晶片)上整合了 CPU、GPU、DSP(數字訊號處理器)、RAM(隨機記憶體)等多個不同模組。遊戲執行時所消耗的算力,遠遠超過看影片、瀏覽資訊流。尤其是影象細節多的遊戲,它能夠佔據手機絕大多數的 CPU、GPU 以及隨機記憶體空間,再加上網路模組的載入頻寬,手機晶片就打開了「燒腦」模式。
想真正解決遊戲帶來的「手機發燒」,還是需要讓晶片負載降低。主機玩家追求效能,可以直接外接顯示卡,增加算力;手機重量體積都嚴格限制的條件下,大幅度增加計算資源顯然不行,只能靠晶片效能最佳化。
只不過摩爾定律將至極限,在有限面積上增加算力「硬體加碼」不再有效,必須想更新的「破題」思路。讓軟體更有效地利用硬體資源?順著這個「軟硬體結合」的思路,「異構計算」應運而生。從原理上講,異構計算就是讓不同的計算單元去執行最擅長的計算任務,靈活呼叫計算資源來最佳化效率。
前不久,在 ODC21 開發者大會上,OPPO 軟體事業工程部總裁吳恆剛展示了 ColorOS 中「異構計算」降低遊戲功耗的能力:在效能不下降的情況下,遊戲功耗能夠降低至少 10%,隨著功耗降低,畫面穩定性也同時提高,低幀佔比減少 84%,幀間抖動減少 50% 以上。
ColorOS 為什麼要研發「異構計算」?
01
異構計算:解決算力
瓶頸的新希望
「異構計算」這個概念可以追溯到上世紀 80 年代年。而在 2006 年左右,晶片廠商就開始嘗試把不同的計算單元整合到一顆晶片上。AMD 把高效能 CPU、GPU 做到一顆晶片上的專案命名為「Fusion」(融聚);英偉達則推出了統一計算框架 CUDA 進入主流市場,讓 GPU 也能夠進行原來 CPU 擅長的通用計算。
CPU 作為通用計算晶片,擅長處理不同型別的資料,做邏輯判斷;而 GPU 擅長做並行同類型計算,吞吐量大。AI 演算法發展起來後,既需要密集的向量運算,又需要複雜的邏輯計算,人們自熱會想到讓不同的計算模組發揮所長,讓硬體為軟體的需求服務。除了 GPU+CPU 的計算平臺之外,FPGA(現場可程式設計邏輯閘陣列)也隨之誕生。FPGA 的特點是能夠根據計算任務,自定義配置晶片硬體功能。
從發展過程可以看出,「異構計算」的特點是硬體作為算力資源,主動適配軟體需求。簡單而言,就是算力資源最佳化。而當 ColorOS 觀察到這一趨勢後,就希望透過「異構計算」來服務不同智慧終端的開發者,特別是類似遊戲型別的過載應用。
OPPO 技術負責人表示,「我們希望可以建築一個框架能夠幫助遊戲,或者是其它比較過載的應用程式,充分有效地利用不同的處理器來完成它們的任務。」ColorOS 提出的異構計算是為了效能功耗最佳化而設計的系統級方案。以 ODC2021 上展示的效果為例子,當遊戲執行過程中,大量的影象處理是運算載荷的重要原因。這些影象處理也分不同型別,有的屬於畫面本身,有的則是畫面上的各種圖示。
這時「異構計算」技術就可以將圖示的圖形處理放到 DSP 處理上,降低 GPU 的負載,讓 GPU 能夠將算力專注於遊戲畫面處理,這就帶來了前文所說的耗能降低,幀率穩定性提升。
不同的計算模組本身就有不同的特性,適合做不同的事情。GPU 擅長類似統一、大規模資料的計算任務。其內部成百上千個運算核心最好能夠在並行時做同樣的事。將圖示的計算任務剝離後,讓其專注處理畫面,正好可以發揮 GPU 的所長。「綜合提高整個手機的運營效率,從而在比較嚴格功耗、溫控環境下,完成更多的任務。」
除了使用者側的使用感提升,從搭建更好用的生態上考慮,ColorOS 做異構計算也希望能夠為開發者遮蔽 OPPO 體系內的不同硬體終端的差異。
在萬物互融時代,軟體開發者面對的是相容性各異的硬體,在軟體迭代中,為了適應新硬體版本,開發者就需要重寫程式碼。「異構計算」希望能夠減輕這方面的負擔,在 ColorOS 生態內,增加程式碼執行的通用性。
未來,ColorOS 還會搭建針對圖形影象的開放平臺,提供介面,讓第一方和第三方程式實現效能功耗最佳化。遊戲僅僅是一個應用例子,其它過載軟體中最佳化圖形影象計算分佈都可以透過「異構計算」的方案來實現。ColorOS 希望未來面對開發者提出的更多需求,共同探討。「異構計算」本身也會隨之發展,未來還能夠實現跨平臺之間的算力呼叫。
02
為「未來計算」做準備
ColorOS 在開發「異構計算」背後,是對虛擬與現實融合趨勢的思考。在 ODC2021 大會上,OPPO 提出了希望透過強大的感知互動能力和計算決策能力,圍繞人的生活場景和行為習慣,構建以使用者為中心的「泛在服務生態」。
透過移動終端的服務演變,就能夠理解「泛在服務」的趨勢。電腦是第一代移動終端,所有的數字服務開始基於網頁開發;手機是第二代移動終端,基於手機 App,人們有了現在的線上線下聯動的網際網路生活。未來將會怎樣演變?很可能是不再以某個硬體終端為中心,而是以人為中心。
這個趨勢已經初現端倪,以智慧手錶為代表的穿戴裝置,以智慧音箱為代表的居家裝置一點點環繞在人們周圍。基於此,「萬物互聯」的概念出現。而萬物為什麼需要互聯?必然是為了服務人。「泛在服務」便可以理解為以人為中心,使人和裝置之間的互動更加自然無感、虛擬和現實更加融合、多裝置無縫互聯互通的舒適體驗。
從生態建設角度來看,「異構計算」正是泛在服務生態的算力支撐。
如果要做到「泛在服務」所說的以人為中心,就需要把虛擬和現實之間的融合做到最好,而 AI 渲染和光線追蹤技術就是用來提升虛擬畫面真實感和趣味性的技術。
基於 AI 渲染技術的 Omoji 虛擬形象,能夠讓機器捕捉人臉的細微變化,使使用者在虛擬世界中用卡通化身照鏡子般表達情緒;首次在手機端實現的光線追蹤,能夠讓自然環境中會出現反射、折射、陰影等等效果在手機上實現。這意味著手遊玩家也可體驗最先進的影象渲染技術。
光線追蹤效果(開/關)
AI 渲染和光線追蹤這樣的技術一方面提供更好的視覺體驗,同時帶來整體計算量增大,功耗增加。所以需要透過「異構計算」來降負載,甚至可以做到多裝置之間的算力充分利用。
提出「泛在服務」,OPPO 背後的思考已經超越了手機廠商的視角,而是站在數字化發展的規律來看未來。在新的生態來臨之前,OPPO 希望不要被顛覆,這既是居安思危,也是未雨綢繆。在無處不在的服務中,算力也一定是分散的、原子化的。
基於此,「異構計算」作為算力支撐的存在形式會持續發展。同時,AI 渲染和光線追蹤技術也是支撐「泛在服務」算力能力的重要技術,並且與「異構計算」密不可分。
目前 ColorOS 展示了跨硬體的案例只是第一步,未來很可能會出現更多不同形式:跨平臺、端邊雲協同的「異構計算」。這樣便能夠應對多裝置之間的協同運轉。
吳恆剛在 ODC2021 上以開車去超市購物為例。這裡面涉及找停車位,再在商場裡尋找物品,付款、打包回車上幾個環節。智慧服務能夠最佳化每一個環節,掃描定位系統可以幫忙尋找停車位和貨物,電子掃描後不必排隊就可以付款,小型機器人能夠將貨物運到車上。
如果從硬體終端來看,完成這些事,會涉及到車載智慧、手機終端、商場感測系統,小型機器人等不同裝置。要讓這一系列服務圍繞人發生,資料傳輸、運算、演算法調動上必須實現相容。背後的算力資源調配,就需要跨裝置,甚至是跨平臺的「異構計算」實現。
回到自身定位,ColorOS 希望先在自己的開發生態內實現「異構計算」,聯接可以聯接的開發者,創造開發條件和環境,更大程度上是一次對「未來計算」的前置思考。
本文為極客公園原創文章,轉載請聯絡極客君微信 geekparker
*除註明外,圖片來自 OPPO