老話常說,“你付出什么,就得到什么”,這可能是總結(jié)接下來幾段內(nèi)容的最簡單方式,我們將介紹Imagination的新OpenCL計算庫。如果你沒有時間繼續(xù)閱讀,只需記住這一點:我們能夠從GPU中擠壓出更多的計算和AI性能,因為我們在這些新軟件庫的精心設(shè)計上投入了大量工作,這樣我們的客戶就不必再投入這些工作了。對于一些客戶來說,這種開箱即用的體驗正是他們完成工作所需的。而對于其他客戶,特別是那些正在開發(fā)自己的自定義庫/內(nèi)核的客戶,Imagination的計算庫以及相關(guān)的支持材料和工具,是他們在開發(fā)和性能目標(biāo)上取得成功的一個完美起點。
Imagination多年來一直在構(gòu)建支持OpenCL的GPU,用于計算應(yīng)用。我們與許多企業(yè)合作,這些企業(yè)擁有自己的NPU(神經(jīng)處理單元),但需要一個GPU(通用GPU)來提供NPU通常不具備的編程靈活性。我們還看到市場上普遍認(rèn)識到靈活性是必不可少的,尤其是在從“功能到性能再到優(yōu)化”的開發(fā)者旅程中針對自己的計算算法時。我們在之前的文章《擁抱邊緣AI中的靈活性》中討論了通用加速相對于特定領(lǐng)域加速的優(yōu)勢,并強(qiáng)調(diào)開發(fā)者的賦能在于提供適合工作的軟件。
什么是正確的軟件呢?
數(shù)學(xué)庫和神經(jīng)網(wǎng)絡(luò)庫被廣泛認(rèn)為是在可編程平臺上高效執(zhí)行AI應(yīng)用和其他計算密集型工作負(fù)載的基本構(gòu)建塊。車內(nèi)駕駛員監(jiān)控應(yīng)用、激光雷達(dá)、雷達(dá)、視覺預(yù)/后處理算法,甚至是像LLM這樣的基礎(chǔ)模型中的transformer塊的關(guān)鍵處理元素,都依賴于底層優(yōu)化的庫。對這些基本構(gòu)建塊的需求催生了大量的開源項目(如clBLAS、vkFFT、xnnpack等),任何開發(fā)者現(xiàn)在都可以快速訪問并在他們的應(yīng)用中使用這些庫,以實現(xiàn)其功能。
然而,最初的完成工作的熱情往往很快會被失望所取代,因為開發(fā)者發(fā)現(xiàn),使用開源庫的性能遠(yuǎn)遠(yuǎn)低于他們基于可用硬件TFLOPS/TOPS的預(yù)期。隨后,這種失望很快會變成持續(xù)的挫敗感,因為用戶面對的現(xiàn)實是,要解決這些問題,需要深入了解硬件微架構(gòu)和開發(fā)者工具。
這是一個新問題嗎?
在我職業(yè)生涯的早期,我花了幾年時間深入優(yōu)化用于音頻和視頻算法的DSP代碼,任何在邊緣計算領(lǐng)域工作過的人都會講述類似的故事:通宵達(dá)旦地吃著披薩,與算法、編譯器和硬件調(diào)試器斗爭,以獲得所需性能。盡管自那時以來,技術(shù)取得了許多進(jìn)步,比如新的并行編程語言和智能編譯技術(shù),但歸根結(jié)底,情況并沒有太大改變。對最高性能的需求依然存在,而這只能通過手工優(yōu)化的算法和底層庫及內(nèi)核來滿足。如果沒有這些性能庫,最近流行的“加速計算”這一術(shù)語就無法實現(xiàn)其承諾,即充分利用底層硬件的潛力來加速計算任務(wù)。換句話說,如果不投資于軟件,客戶就永遠(yuǎn)無法真正解鎖硬件的潛力。這是一個新問題嗎?顯然不是!從任何系統(tǒng)中獲得最優(yōu)性能的挑戰(zhàn)一直都很困難,并且仍然如此。解決這個問題需要廣泛的專業(yè)知識:1. 對算法及其算法實現(xiàn)選擇的深刻理解(通常問題具有多維度,有許多分解方式可供選擇)。
2. 深入了解硬件微架構(gòu)以及可用于利用上述架構(gòu)選擇的各種選項。3. 了解編程語言的靈活性和功能,以及相關(guān)編譯器的“智能”。4. 在一段時間內(nèi)持續(xù)應(yīng)用上述知識,為用戶可能需要的多種可能性開發(fā)良好的覆蓋范圍。優(yōu)秀的程序員能夠?qū)⑺羞@些要素結(jié)合在一起,并且再加上只有最有經(jīng)驗的編碼人員才能掌握的一點點魔法,從而從硬件中獲得非常好的甚至最優(yōu)性能的。但這樣的程序員是稀缺的。
因此,為了讓加速計算的承諾對每個人來說都可實現(xiàn),Imagination將其專業(yè)知識應(yīng)用于這個問題。畢竟,我們的工程師是最適合為我們自己的硬件創(chuàng)建優(yōu)化庫的人。
Imagination的解決方案是什么?Imagination的GPU產(chǎn)品的靈活微架構(gòu)為智能映射和并行化工作負(fù)載提供了許多機(jī)會,以最大化計算引擎和內(nèi)存層次帶寬(GPU內(nèi)部和外部)的利用率。為了實現(xiàn)最優(yōu)性能,Imagination的一個跨職能專家團(tuán)隊解決了上述所有問題,并應(yīng)用了我們對運行時系統(tǒng)中動態(tài)元素的深入理解,例如運行時OpenCL編譯器和硬件的動態(tài)調(diào)度。從這項活動中獲得的經(jīng)驗反饋到硬件和編譯器設(shè)計的改進(jìn)中,通過我們的AI產(chǎn)品路線圖,這個良性循環(huán)將持續(xù)進(jìn)行。在發(fā)布時,Imagination的OpenCL計算庫通常能夠?qū)崿F(xiàn)比客戶使用開源解決方案所報告的性能提升3倍到4倍的更好結(jié)果。
在新發(fā)布的DXS GPU中,這些庫與專注于計算的硬件改進(jìn)相結(jié)合,例如額外的SPU(可擴(kuò)展處理單元)和額外的FP16流水線,對于許多計算工作負(fù)載,相比我們上一代的汽車GPU,性能提升了10倍或更多。
還有什么?
我們這些基礎(chǔ)庫的目標(biāo)是專注于我們作為IP公司的核心價值:最大限度地發(fā)揮我們芯片的性能,并使用戶能夠做到同樣的事情。但除此之外,我們還在做什么?我們現(xiàn)在專注于兩個關(guān)鍵領(lǐng)域:1. 提供參考計算和AI工具包,使客戶能夠在實際用例中利用這些計算庫。
2. 構(gòu)建我們的領(lǐng)域?qū)<液献骰锇樯鷳B(tài)系統(tǒng),幫助客戶通過解決方案和服務(wù)加速其上市目標(biāo)。
我們最近與MulticoreWare和澎峰科技的合作就是創(chuàng)新合作伙伴基于我們的計算庫構(gòu)建AI解決方案,并利用我們的參考工具包的兩個范例。
“
澎峰科技為希望加速AI的企業(yè)開發(fā)異構(gòu)計算軟件堆棧和基礎(chǔ)設(shè)施解決方案。我們使用Imagination的計算軟件解決方案在Imagination GPU上運行各種AI應(yīng)用,包括我們的LLM推理引擎PerfXLM,迄今為止與CPU相比性能提升高達(dá)100%,而移植所需的時間極少。
——澎峰科技首席執(zhí)行官張先軼
”
-
AI
+關(guān)注
關(guān)注
87文章
30728瀏覽量
268882 -
計算軟件
+關(guān)注
關(guān)注
0文章
54瀏覽量
11025 -
軟件庫
+關(guān)注
關(guān)注
0文章
15瀏覽量
7764
發(fā)布評論請先 登錄
相關(guān)推薦
評論