作者:Arm 終端事業(yè)部消費(fèi)計(jì)算市場(chǎng)高級(jí)經(jīng)理 Poulomi Dasgupta
隨著每一代新產(chǎn)品的推出,Arm CPU 都會(huì)實(shí)現(xiàn)代際性能提升,并引入架構(gòu)改進(jìn),以滿(mǎn)足不斷演進(jìn)的計(jì)算工作負(fù)載的需求。本文將重點(diǎn)介紹三個(gè)用例,以展示 Armv9 CPU 的架構(gòu)特性在實(shí)際場(chǎng)景中產(chǎn)生的影響,特別是在 HDR 視頻解碼(加速 10%)、圖像處理(加速 20%)、主要移動(dòng)端應(yīng)用中的功能 LibYUV(加速 26%)。
好消息是,本文中討論的一些 Arm SVE2 優(yōu)化現(xiàn)已可供開(kāi)發(fā)者獲取使用,有望提升熱門(mén)媒體應(yīng)用的用戶(hù)體驗(yàn),進(jìn)一步改善人們溝通、工作和娛樂(lè)的方式。
應(yīng)用開(kāi)發(fā)者和 OEM 廠商面臨的挑戰(zhàn)
首先,從移動(dòng)端應(yīng)用開(kāi)發(fā)者當(dāng)前面臨的挑戰(zhàn)來(lái)看,目前市場(chǎng)上有超過(guò) 200 萬(wàn)個(gè)安卓應(yīng)用[1]在爭(zhēng)奪用戶(hù)的青睞。這些應(yīng)用要想保持競(jìng)爭(zhēng)力,就必須迅速將創(chuàng)新成果推廣到各種移動(dòng)設(shè)備上。倘若依賴(lài)于功能固定的硬件,會(huì)面臨產(chǎn)品上市時(shí)間和可移植性等方面的挑戰(zhàn)。
與出色的用戶(hù)體驗(yàn)相關(guān)的指標(biāo),包括應(yīng)用啟動(dòng)時(shí)間、UI 流暢度、每秒詞元 (token) 數(shù)和每秒幀數(shù) (FPS) 穩(wěn)定性等都需要切實(shí)滿(mǎn)足用戶(hù)期望。因此,OEM 廠商需要在性能提升與更廣泛的用戶(hù)需求(如延長(zhǎng)電池續(xù)航時(shí)間、減少數(shù)據(jù)使用量和設(shè)備成本)之間取得平衡。其中任一方面存在不足,都可能導(dǎo)致用戶(hù)不滿(mǎn)意,否定升級(jí)移動(dòng)設(shè)備的價(jià)值。
在 Armv9 CPU 上開(kāi)發(fā)軟件可以解決 OEM 廠商和開(kāi)發(fā)者所面臨的挑戰(zhàn)。
Armv9 CPU 中 SVE2 的實(shí)際用例
讓我們來(lái)看三個(gè)案例研究,證明軟件優(yōu)化可以加速實(shí)際工作負(fù)載。首先,以下是 SVE2 的一個(gè)子集和可加速移動(dòng)設(shè)備上關(guān)鍵工作負(fù)載的 Armv9 CPU 中的新矢量指令:
16 位點(diǎn)積和 8 位矩陣乘法,可加速 HDR 視頻播放和視頻會(huì)議。
圖像處理直方圖指令。
聚合讀取和分散存入,用于攝像頭傳感器數(shù)據(jù)的解交織處理。
復(fù)數(shù)指令,用于加速視頻編解碼器中的快速傅里葉變換。
使用這些矢量指令可使優(yōu)化的軟件使用更少的 CPU 周期,帶來(lái)兩大好處。第一,CPU 周期減少使得能耗降低,增加電池續(xù)航時(shí)間;第二,提高應(yīng)用性能。
案例 1
SVE2 使視頻解碼速度提高 10%
觀看多媒體內(nèi)容是移動(dòng)設(shè)備上最常見(jiàn)的工作負(fù)載之一,也是移動(dòng)端網(wǎng)絡(luò)較大的流量來(lái)源。因此,廠商不斷追求更高效的編解碼器,希望在節(jié)省網(wǎng)絡(luò)帶寬的同時(shí),支持出色的圖像質(zhì)量。
HDR 技術(shù)由于色彩準(zhǔn)確度更高,可呈現(xiàn)更加逼真的細(xì)節(jié),即使是在非常暗或非常亮的場(chǎng)景中也是如此。它使用 10 位而非 8 位來(lái)表示每個(gè)色彩通道。AV1 和 VP9 以及其他現(xiàn)代編解碼器,且都支持 HDR 視頻。
AV1 是一種較新的格式,可提供更好的壓縮效果,而 VP9 則在各種瀏覽器和設(shè)備中具有更廣泛的兼容性。一些熱門(mén)應(yīng)用都使用 AV1 和 VP9 格式來(lái)播放視頻。
SVE2 優(yōu)化使 HDR 視頻解碼速度提高了約 10%,VP9 解碼速度提高了 8%,AV1 解碼速度提高了 10%。這使得 CPU 周期減少約 10%,電量消耗也相應(yīng)減少,讓用戶(hù)在移動(dòng)設(shè)備上播放點(diǎn)播視頻時(shí)能夠獲得更長(zhǎng)的電池續(xù)航時(shí)間。如此一來(lái),無(wú)論是觀看快拍、短片還是長(zhǎng)視頻,都將變得更加順暢!
對(duì) libdav1d(Av1 解碼器)和 libvpx(Vp9 解碼器)的優(yōu)化代碼已經(jīng)上傳,開(kāi)發(fā)者現(xiàn)可獲取使用。
案例 2
SVE2 使 LibYUV 速度提高了 26%
值得一提的是,我們每個(gè)人都在不知不覺(jué)中使用了 LibYUV。
LibYUV 是一個(gè)開(kāi)源庫(kù),用于 RGB 和 YUV 之間的色彩空間轉(zhuǎn)換、攝像頭傳感器數(shù)據(jù)縮放,以及攝像頭濾鏡和旋轉(zhuǎn)。在經(jīng)由視頻解碼器使用之前,它會(huì)對(duì)來(lái)自攝像頭傳感器的數(shù)據(jù)進(jìn)行處理。在很多情況下,視頻解碼器中的數(shù)據(jù)會(huì)先通過(guò) LibYUV 進(jìn)行處理,然后再發(fā)送去顯示。
SVE2 優(yōu)化使 LibYUV 速度提高了 26%(Armv9 CPU 上多個(gè)內(nèi)核的幾何平均值)。LibYUV 中大約有 100 個(gè)內(nèi)核已使用 SVE2 進(jìn)行了優(yōu)化,其他內(nèi)核的優(yōu)化工作正在進(jìn)行中。部分工作已完成上傳,可在 https://chromium.googlesource.com/libyuv/libyuv/上查看。
LibYUV 作為 Chromium 的一部分進(jìn)行分發(fā)。Chromium 是一個(gè)開(kāi)源瀏覽器項(xiàng)目,為 Chrome 及主要手機(jī)廠商的定制瀏覽器(包括小米瀏覽器和三星瀏覽器等)奠定了基礎(chǔ)。它還被集成到 AOSP 和 Android Jetpack 中。由于 LibYUV 對(duì)移動(dòng)設(shè)備至關(guān)重要,它有望對(duì)整體移動(dòng)端體驗(yàn)產(chǎn)生深遠(yuǎn)的影響,例如帶來(lái)更好的視頻會(huì)議體驗(yàn)、更順暢的豎屏和橫屏模式切換,以及更好的視頻消費(fèi)體驗(yàn),并且大大延長(zhǎng)電池續(xù)航時(shí)間。
案例 3
SVE2 使計(jì)算攝影速度提高 20%
Halide 是一種專(zhuān)門(mén)用于圖像處理領(lǐng)域的語(yǔ)言,用于 Adobe Photoshop 等應(yīng)用,一些 OEM 廠商也將它用于攝像頭管線(xiàn)。
SVE2 指令(例如聚合讀取和分散存入指令)和 TBL(可編程查表,用于矢量化小型查詢(xún)表)加速了 Halide 中的一些關(guān)鍵計(jì)算機(jī)視覺(jué)流程。iToFDepth(用于感知深度)、雙邊網(wǎng)格(用于邊緣感知色調(diào)映射)和局部拉普拉斯(用于濾鏡)等計(jì)算密集型算法在采用 SVE2 后,性能提升了近 20%。
使用 SVE2 來(lái)優(yōu)化軟件可以實(shí)時(shí)應(yīng)用一些攝影效果,為入門(mén)級(jí)移動(dòng)設(shè)備開(kāi)辟了新的可能性,用戶(hù)無(wú)需專(zhuān)用硬件即可獲得更高質(zhì)量的照片。
Arm 已針對(duì) SVE2 代碼生成優(yōu)化了 Halide 后端。好消息是,一些補(bǔ)丁已經(jīng)上線(xiàn),其他補(bǔ)丁也正在開(kāi)發(fā)中。
圖:Halide-SVE2 和 Halide-Neon CPU 周期數(shù)對(duì)比
如何更好地使用 SVE2?
SVE2 引入了幾個(gè)新指令,非常適合加速關(guān)鍵的實(shí)際工作負(fù)載和應(yīng)用。我們將在后續(xù)的技術(shù)文章中更詳細(xì)地討論如何使用 Armv9 CPU 實(shí)現(xiàn)一些性能提升,請(qǐng)持續(xù)關(guān)注“Arm 社區(qū)”微信公眾號(hào),敬請(qǐng)期待!
Arm 致力于為生態(tài)系統(tǒng)找到良好的平衡點(diǎn),更好地兼顧開(kāi)發(fā)者支持和性能提升。一些針對(duì) SVE2 進(jìn)行優(yōu)化的開(kāi)源庫(kù)和內(nèi)核已經(jīng)上線(xiàn),未來(lái)還會(huì)有更多資源。
Armv9 CPU 的最新進(jìn)展將使開(kāi)發(fā)者能夠更快實(shí)現(xiàn)創(chuàng)新,為各類(lèi)移動(dòng)設(shè)備的最終消費(fèi)者帶來(lái)更好的用戶(hù)體驗(yàn)。還等什么,趕緊采用 SVE2 開(kāi)始你的開(kāi)發(fā)項(xiàng)目,實(shí)現(xiàn)創(chuàng)新吧!
-
ARM
+關(guān)注
關(guān)注
134文章
9029瀏覽量
366535 -
cpu
+關(guān)注
關(guān)注
68文章
10809瀏覽量
210874 -
圖像處理
+關(guān)注
關(guān)注
27文章
1278瀏覽量
56584 -
視頻解碼
+關(guān)注
關(guān)注
1文章
49瀏覽量
18130
原文標(biāo)題:Armv9 技術(shù)講堂 | 利用 Armv9 CPU 和 SVE2 加速視頻解碼和圖像處理
文章出處:【微信號(hào):Arm社區(qū),微信公眾號(hào):Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論