npu算力如何计算_异构计算神器来了,它能带来性能革命吗
前言:優(yōu)化差有多要命?3A大作告訴您
說到最近游戲圈子里的熱門話題,剛剛在全平臺上線的某“國產(chǎn)3A大作”顯然絕對值得一提。一方面來說,靠著“抽卡化單機游戲”的設(shè)計,以及投入幾十萬元都難以實現(xiàn)全角色滿狀態(tài)的高氪金程度,使得其成功證明了自己的確沒有抄襲隔壁任天堂的良心大作,在“原創(chuàng)程度”上值得肯定。
但另一方面來說,作為一款官方號稱花了一億美元開發(fā)的大作,這款話題游戲又有著甚至連低成本頁游都足以在其面前自傲的貼圖質(zhì)量(比如某知名的水果攤),以及無論手機配置多高、價格多貴、散熱效果多好,都只能達(dá)到30幀的流暢度體驗(安卓版本)。
說實在的,我們?nèi)咨畈⒉皇菍I(yè)的游戲媒體,因此也不想去追究一款本應(yīng)備受期待的國產(chǎn)大作,到底為什么會搞成現(xiàn)在這個樣子。但從我們自身所進(jìn)行的簡單測試結(jié)果來看,“它”在頂級旗艦手機上幀率不足的原因,似乎并不能簡單的歸結(jié)為游戲體積過大,或者含有主機移植內(nèi)容這么簡單。
這是我們手頭的某臺絕對夠旗艦的安卓機皇,自帶的性能監(jiān)測結(jié)果
因為哪怕是在并不復(fù)雜的場景中,我們?nèi)咨钍诸^這臺旗艦機型自帶的性能監(jiān)視器也明明白白的顯示,GPU已然不堪重負(fù),但CPU卻幾乎沒有被占用多少算力。換句話說,整個手機SoC的綜合性能,其實并沒有被充分和均衡的發(fā)揮出來。
那么這就不禁使我們腦洞大開了,是否存在這樣一種方法,可以拯救諸如此類優(yōu)化不佳的程序,讓它們能夠更充分的利用當(dāng)今主流芯片不同處理部件的算力,從而給消費者帶來更流暢也更正常的體驗?zāi)?#xff1f;
有的,這就是異構(gòu)計算“終極方案”oneAPI
2019年6月17日,一年一度的國際超級計算大會在德國拉開帷幕。在這一場主要旨在討論超級計算機、區(qū)塊鏈、量子技術(shù)的活動中,知名行業(yè)巨頭的Intel也預(yù)告他們最新研制出的一個“小玩意”。
而這,就是今天剛剛發(fā)布1.0正式版的oneAPI。雖然乍看之下只是一個面向大眾的、開源的編程工具,但是oneAPI給整個行業(yè)帶來的震撼,卻遠(yuǎn)遠(yuǎn)地超過了目前可能任何一臺超級計算機、頂級顯卡、新款游戲主機,或是旗艦智能手機。因為它即是整個計算機編程領(lǐng)域有史以來第一個能夠同時兼容CPU、GPU、NPU、以及FPGA四種基本架構(gòu),完全不同的處理器硬件的“終極解決辦法”。
這是什么概念呢?簡單來說,在如今PC或者手機的一顆“處理器”芯片里,實際上往往集成了多種用途的處理單元。比如說擅長標(biāo)量處理的CPU、擅長矢量運算的GPU(圖形處理器)、擅長矩陣計算的NPU(神經(jīng)網(wǎng)絡(luò)處理器),有的甚至還會集成有擅長空間運算的FPGA(可編程邏輯門陣列)。
但問題在于,各種用途的處理單元它們架構(gòu)迥異,所需的編程工具各不相同。過去,假設(shè)一位程序員想要在Ta開發(fā)的游戲里,把原本由GPU運行的物理計算過程改為由CPU執(zhí)行,把原本由CPU負(fù)責(zé)的戰(zhàn)斗AI判斷過程交給NPU去運算,那么就將不得不同時使用三種完全不同的編程工具,并且深刻理解三種不同架構(gòu)硬件之間在算法、原理,以及計算方式上的差異才行。
說實話,這的確不是一般人能搞定的事情,至少在oneAPI出現(xiàn)之前是這樣。但在有了oneAPI后,程序員只需要學(xué)會一種統(tǒng)一的代碼(DPC++),然后在寫完代碼后,選擇這段代碼是交給CPU,還是交給GPU,亦或是NPU去運行,oneAPI就能自動完成代碼的轉(zhuǎn)換和優(yōu)化工作。如此一來,“僅用一種語言,編寫出自動適配多種不同計算架構(gòu)的程序,并讓程序在運行時更充分的利用現(xiàn)代數(shù)碼設(shè)備的異構(gòu)計算能力”,就突然間變得輕而易舉了。
不僅如此,由于oneAPI是一個旨在最大程度上簡化異構(gòu)編程的開源項目,因此它的兼容性甚至還遠(yuǎn)不止于Intel自家的產(chǎn)品。比如它可以支持NVIDIA的顯卡,可以支持AMD的CPU,甚至對IBM Power架構(gòu)和ARM架構(gòu)的兼容工作正在進(jìn)行中。這也就意味著,如果未來某個大型游戲使用oneAPI編寫,那么它將不僅僅能夠自動將電腦中的CPU和GPU算力利用到極致,同時還可能會非常方便移植到游戲主機和智能手機上,并依然保持極高的執(zhí)行效率。
雖然新技術(shù)很強大,但異構(gòu)計算可不是新概念
不難看出,至少在目前的技術(shù)條件下,Intel的oneAPI的確可能是當(dāng)今技術(shù)最先進(jìn),使用最方便,最有可能實現(xiàn)應(yīng)用程序“異構(gòu)計算”優(yōu)化,從而帶來執(zhí)行效能飛躍的編程方案。它的出現(xiàn),意味著未來的超級計算機將可能變得比現(xiàn)在更快更省電,也意味著未來的操作系統(tǒng)、大型游戲?qū)⒂型瓉砹鲿扯鹊拇蠓纳啤3酥?#xff0c;由于本身具備兼容移動平臺的潛力,oneAPI甚至不排除可以造福移動設(shè)備,讓手游變得更省電、幀率更高,同時也讓真正意義上從PC或者主機移植游戲到手機,變得更加容易。
但如果你急著山呼萬歲,那倒也大可不必。畢竟只要是稍有關(guān)注近年來PC與智能手機技術(shù)動向的朋友可能會記得,所謂讓CPU、GPU,以及其他芯片內(nèi)計算組件共同承擔(dān)運算任務(wù)的“異構(gòu)計算”,其實并不是一個新玩意。
比如說早在2011年,剛剛將ATI收歸麾下的AMD,就打著“Fusion(融合)”的旗號推出了初代的APU產(chǎn)品線。當(dāng)時為了彰顯“融合處理器”的優(yōu)勢,AMD也曾推出過一些官方的異構(gòu)計算功能套件,比如利用GPU的算力進(jìn)行視頻插幀、利用CPU和GPU的融合算力通過PC攝像頭識別手勢操控等等。雖然在銳龍時代之前,AMD的APU一直都沒能掀起太大風(fēng)浪,但不可否認(rèn)的是,他們可能才是PC異構(gòu)計算的開創(chuàng)者。
又比如說早在2013年,諾基亞就發(fā)布了自己的第二款4100萬像素Pureview拍照手機Lumia 1020。當(dāng)時受于Windows系統(tǒng)的限制,只能選用高通驍龍S4 MSM8960 SoC作為計算核心,但其所集成的ISP(圖像信號處理器)實際上并不具備處理如此高像素照片的能力。因此為了讓Lumia 1020的拍照體驗正常,諾基亞與高通的工程師們共同努力,使用Adreno 225 GPU“承擔(dān)”了一部分ISP的計算工作,而這也就成為了智能手機異構(gòu)計算最早的成功案例。
或許正是受到此次事件啟發(fā),高通在同年發(fā)布的新旗艦芯片驍龍800上,首次在硬件架構(gòu)和驅(qū)動底層兩方面都為異構(gòu)計算做好了準(zhǔn)備。驍龍800的Krait400 CPU和Adreno320 GPU均具備運行OpenCL通用加速代碼的能力,這使得它成為了可能是最早為異構(gòu)計算設(shè)計的智能手機SoC。
但當(dāng)時間來到現(xiàn)在我們會發(fā)現(xiàn),AMD最新的銳龍4000系列APU盡管性能飽受贊譽,但卻完全取消了對異構(gòu)計算的支持。而高通最新的驍龍865+、驍龍768G等平臺雖然具備分布式的AI計算設(shè)計,但從AIDA64的系統(tǒng)信息中也不難看到,它們的CPU部分取消了對OpenCL的支持,反而不能運行除了AI計算之外的異構(gòu)并行程序了。
性能神器本質(zhì)上是商業(yè)行為 ,但它依然值得歡呼
那么問題就來了,為什么早早在異構(gòu)計算方面有所投入的AMD與高通等廠商,如今卻紛紛放棄了這條道路。反而是此前一直在異構(gòu)計算方面名不見經(jīng)傳的Intel,突然放出了可能足以改變業(yè)態(tài)的“大招”呢?
說白了,其實一切都只是商業(yè)需求與產(chǎn)品策略而已。畢竟異構(gòu)計算的本質(zhì),是為了解決一套系統(tǒng)中CPU、GPU、或其他什么計算組件性能“拖后腿”,或是負(fù)載過于不均勻的問題。比如曾經(jīng)APU本來是打算拿GPU彌補CPU算力的不足,比如高通最早搞異構(gòu)計算,是想讓手機發(fā)揮出更高的常規(guī)能效比(無奈程序員不買賬),而現(xiàn)在則主要用于增強對于不同AI模型的兼容性和提高處理效率。
至于Intel,一方面來說,他們?nèi)缃褡约壕蛽碛蠧PU、GPU、AI處理器,以及FPGA的四條產(chǎn)品線,研發(fā)統(tǒng)一的編程API,能夠簡化自家未來各種融合處理器及定制超算芯片的程序開發(fā)。另一方面來說,雖然現(xiàn)在很多媒體都在講“AMD Yes”,但接觸過編程(特別是高性能編程)的朋友就知道,Intel的編程工具可是自奔騰4時代就一直被公認(rèn)為具備更好的性能表現(xiàn)(嗯,沒錯,它誕生的初衷,也是為了讓架構(gòu)糟糕的奔騰4用起來更快一點),而這,也正是現(xiàn)在他們能夠為異構(gòu)計算搞出“oneAPI”的底氣所在。
當(dāng)然,我們并不是說,因為oneAPI包含了intel宣傳和優(yōu)化自家產(chǎn)品的商業(yè)意圖,就不值得大家歡呼了。畢竟,與此前放棄了的AMD以及高通相比,無論Intel出于怎樣的目的,他們確實將“異構(gòu)計算編程”的這扇大門給真正打開了,而且還以開源的形式,讓理論上所有的程序員,以及未來所有的計算設(shè)備都可以從中受益。而僅憑這一條,顯然oneAPI就值得我們?yōu)橹炔柿恕?/p>
總結(jié)
以上是生活随笔為你收集整理的npu算力如何计算_异构计算神器来了,它能带来性能革命吗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: php bind_param,php
 - 下一篇: springboot转发http请求_网