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

使用Arm KleidiCV開源庫(kù)加速圖像處理性能

評(píng)論