0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Armv9 CPU中SVE2的實(shí)際用例

Arm社區(qū) ? 來源:Arm社區(qū) ? 2024-10-21 09:54 ? 次閱讀

作者:Arm 終端事業(yè)部消費(fèi)計(jì)算市場(chǎng)高級(jí)經(jīng)理 Poulomi Dasgupta

隨著每一代新產(chǎn)品的推出,Arm CPU 都會(huì)實(shí)現(xiàn)代際性能提升,并引入架構(gòu)改進(jì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)已可供開發(fā)者獲取使用,有望提升熱門媒體應(yīng)用的用戶體驗(yàn),進(jìn)一步改善人們溝通、工作和娛樂的方式。

應(yīng)用開發(fā)者和 OEM 廠商面臨的挑戰(zhàn)

首先,從移動(dòng)端應(yīng)用開發(fā)者當(dāng)前面臨的挑戰(zhàn)來看,目前市場(chǎng)上有超過 200 萬個(gè)安卓應(yīng)用[1]在爭奪用戶的青睞。這些應(yīng)用要想保持競爭力,就必須迅速將創(chuàng)新成果推廣到各種移動(dòng)設(shè)備上。倘若依賴于功能固定的硬件,會(huì)面臨產(chǎn)品上市時(shí)間和可移植性等方面的挑戰(zhàn)。

與出色的用戶體驗(yàn)相關(guān)的指標(biāo),包括應(yīng)用啟動(dòng)時(shí)間、UI 流暢度、每秒詞元 (token) 數(shù)和每秒幀數(shù) (FPS) 穩(wěn)定性等都需要切實(shí)滿足用戶期望。因此,OEM 廠商需要在性能提升與更廣泛的用戶需求(如延長電池續(xù)航時(shí)間、減少數(shù)據(jù)使用量和設(shè)備成本)之間取得平衡。其中任一方面存在不足,都可能導(dǎo)致用戶不滿意,否定升級(jí)移動(dòng)設(shè)備的價(jià)值。

在 Armv9 CPU 上開發(fā)軟件可以解決 OEM 廠商和開發(fā)者所面臨的挑戰(zhàn)。

Armv9 CPU 中 SVE2 的實(shí)際用例

讓我們來看三個(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 周期,帶來兩大好處。第一,CPU 周期減少使得能耗降低,增加電池續(xù)航時(shí)間;第二,提高應(yīng)用性能。

案例 1

SVE2 使視頻解碼速度提高 10%

觀看多媒體內(nèi)容是移動(dòng)設(shè)備上最常見的工作負(fù)載之一,也是移動(dòng)端網(wǎng)絡(luò)較大的流量來源。因此,廠商不斷追求更高效的編解碼器,希望在節(jié)省網(wǎng)絡(luò)帶寬的同時(shí),支持出色的圖像質(zhì)量。

HDR 技術(shù)由于色彩準(zhǔn)確度更高,可呈現(xiàn)更加逼真的細(xì)節(jié),即使是在非常暗或非常亮的場(chǎng)景中也是如此。它使用 10 位而非 8 位來表示每個(gè)色彩通道。AV1 和 VP9 以及其他現(xiàn)代編解碼器,且都支持 HDR 視頻。

AV1 是一種較新的格式,可提供更好的壓縮效果,而 VP9 則在各種瀏覽器和設(shè)備中具有更廣泛的兼容性。一些熱門應(yīng)用都使用 AV1 和 VP9 格式來播放視頻。

SVE2 優(yōu)化使 HDR 視頻解碼速度提高了約 10%,VP9 解碼速度提高了 8%,AV1 解碼速度提高了 10%。這使得 CPU 周期減少約 10%,電量消耗也相應(yīng)減少,讓用戶在移動(dòng)設(shè)備上播放點(diǎn)播視頻時(shí)能夠獲得更長的電池續(xù)航時(shí)間。如此一來,無論是觀看快拍、短片還是長視頻,都將變得更加順暢!

對(duì) libdav1d(Av1 解碼器)和 libvpx(Vp9 解碼器)的優(yōu)化代碼已經(jīng)上傳,開發(fā)者現(xiàn)可獲取使用。

案例 2

SVE2 使 LibYUV 速度提高了 26%

值得一提的是,我們每個(gè)人都在不知不覺中使用了 LibYUV。

LibYUV 是一個(gè)開源庫,用于 RGB 和 YUV 之間的色彩空間轉(zhuǎn)換、攝像頭傳感器數(shù)據(jù)縮放,以及攝像頭濾鏡和旋轉(zhuǎn)。在經(jīng)由視頻解碼器使用之前,它會(huì)對(duì)來自攝像頭傳感器的數(shù)據(jù)進(jìn)行處理。在很多情況下,視頻解碼器中的數(shù)據(jù)會(huì)先通過 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è)開源瀏覽器項(xiàng)目,為 Chrome 及主要手機(jī)廠商的定制瀏覽器(包括小米瀏覽器和三星瀏覽器等)奠定了基礎(chǔ)。它還被集成到 AOSP 和 Android Jetpack 中。由于 LibYUV 對(duì)移動(dòng)設(shè)備至關(guān)重要,它有望對(duì)整體移動(dòng)端體驗(yàn)產(chǎn)生深遠(yuǎn)的影響,例如帶來更好的視頻會(huì)議體驗(yàn)、更順暢的豎屏和橫屏模式切換,以及更好的視頻消費(fèi)體驗(yàn),并且大大延長電池續(xù)航時(shí)間。

案例 3

SVE2 使計(jì)算攝影速度提高 20%

Halide 是一種專門用于圖像處理領(lǐng)域的語言,用于 Adobe Photoshop 等應(yīng)用,一些 OEM 廠商也將它用于攝像頭管線。

SVE2 指令(例如聚合讀取和分散存入指令)和 TBL(可編程查表,用于矢量化小型查詢表)加速了 Halide 中的一些關(guān)鍵計(jì)算機(jī)視覺流程。iToFDepth(用于感知深度)、雙邊網(wǎng)格(用于邊緣感知色調(diào)映射)和局部拉普拉斯(用于濾鏡)等計(jì)算密集型算法在采用 SVE2 后,性能提升了近 20%。

使用 SVE2 來優(yōu)化軟件可以實(shí)時(shí)應(yīng)用一些攝影效果,為入門級(jí)移動(dòng)設(shè)備開辟了新的可能性,用戶無需專用硬件即可獲得更高質(zhì)量的照片。

Arm 已針對(duì) SVE2 代碼生成優(yōu)化了 Halide 后端。好消息是,一些補(bǔ)丁已經(jīng)上線,其他補(bǔ)丁也正在開發(fā)中。

de02d490-8dae-11ef-a511-92fbcf53809c.png

圖: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),更好地兼顧開發(fā)者支持和性能提升。一些針對(duì) SVE2 進(jìn)行優(yōu)化的開源庫和內(nèi)核已經(jīng)上線,未來還會(huì)有更多資源。

Armv9 CPU 的最新進(jìn)展將使開發(fā)者能夠更快實(shí)現(xiàn)創(chuàng)新,為各類移動(dòng)設(shè)備的最終消費(fèi)者帶來更好的用戶體驗(yàn)。還等什么,趕緊采用 SVE2 開始你的開發(fā)項(xiàng)目,實(shí)現(xiàn)創(chuàng)新吧!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9005

    瀏覽量

    366018
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10768

    瀏覽量

    210417
  • 圖像處理
    +關(guān)注

    關(guān)注

    27

    文章

    1272

    瀏覽量

    56493
  • 視頻解碼
    +關(guān)注

    關(guān)注

    1

    文章

    49

    瀏覽量

    18115

原文標(biāo)題:Armv9 技術(shù)講堂 | 利用 Armv9 CPU 和 SVE2 加速視頻解碼和圖像處理

文章出處:【微信號(hào):Arm社區(qū),微信公眾號(hào):Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Arm下一代指令架構(gòu)“Armv9”已經(jīng)問世

    Arm的下一代CPU指令集架構(gòu)(ISA:指令集架構(gòu)) Armv9開始推出。該公司正在逐步擴(kuò)展當(dāng)前的ISA Armv8,而擴(kuò)展的高潮最終將成為Armv9的搭建橋梁。至于
    的頭像 發(fā)表于 11-13 11:55 ?4.4w次閱讀

    Armv9核心A710、A715和A510微架構(gòu)解讀

    在介紹Armv9系列前,我們先看一下ARM的Cortex-X定制CPU計(jì)劃。Cortex-X方案先于Armv9發(fā)布,在Arm發(fā)布A78時(shí),同時(shí)也發(fā)布了Cortex-X1這一顆性能強(qiáng)大的CPU
    發(fā)表于 06-12 09:27 ?2.4w次閱讀
    <b class='flag-5'>Armv9</b>核心A710、A715和A510微架構(gòu)解讀

    淺析Armv9-A構(gòu)架上的可伸縮矩陣擴(kuò)展(SME)

    1Armv8.4-A:支持了8-bit整型的點(diǎn)積運(yùn)算指令(DOT指令)Armv8.6-A: 支持在向量寄存器里做整型和浮點(diǎn)型的矩陣乘指令,和BFloat16數(shù)據(jù)類型Armv9-A: 支持了SV
    發(fā)表于 08-05 15:02

    一文詳解SIMD架構(gòu)與SVE2的演進(jìn)

    。在 Armv9 為 ML 和 DSP 擴(kuò)展矢量處理(來自 Arm Vision Day)什么是 SVESVE2?利用并行執(zhí)行指令(稱為 SIMD(單指令多數(shù)據(jù))指令)可以加
    發(fā)表于 08-12 15:50

    如何在Android用上Armv9 CPU新引入的PAC安全特性和SVE2呢?

    基于Armv9 CPU的手機(jī)芯片已經(jīng)被廣泛采用。早在2020年,arm已經(jīng)和google合作將這些新特性帶入到Android 12, NDK r23也支持了PAC, BTI等。1. 如何利用PAC
    發(fā)表于 10-13 11:44

    一文淺析SVESVE2

    計(jì)。 實(shí)現(xiàn)上是覆蓋式的,支持SVE/SVE2,一定支持Neon。我個(gè)人的理解,SVESVE2最大的好處是軟件是靈活的,一開始就考慮到指令
    發(fā)表于 11-02 14:26

    了解Armv9-A體系結(jié)構(gòu)之SVE2簡介

    本指南是Armv9-A 結(jié)構(gòu)的可縮放矢量擴(kuò)展(SVE2) 第二版第二版的簡短導(dǎo)言。 您可以在此指南中了解 SVE2 的概念和主要特點(diǎn)、 SVE2 的應(yīng)用領(lǐng)域以及
    發(fā)表于 08-02 08:19

    SVE編程示例

    支持。 SVE2是可伸縮向量擴(kuò)展v2,是具有擴(kuò)展功能的ARMv8-A SVE的超集。 SVE2指令集添加了全面的整數(shù)算術(shù)支持
    發(fā)表于 08-22 06:29

    重磅!Arm正式推出Armv9架構(gòu)

    當(dāng)?shù)貢r(shí)間3月30日,Arm宣布正式推出Armv9架構(gòu),以應(yīng)對(duì)全球?qū)o處不在的專業(yè)化處理的需求,這種處理具有越來越強(qiáng)大的安全性和人工智能(AI)能力。Armv9是ARM公司十年來的最大技術(shù)革新。上一代
    發(fā)表于 03-31 09:43 ?2603次閱讀
    重磅!Arm正式推出<b class='flag-5'>Armv9</b>架構(gòu)

    淺談ARM發(fā)布Armv9的三大改進(jìn)

    英國芯片設(shè)計(jì)公司Arm周二發(fā)布了Armv9,這是其在2011年發(fā)布Armv8之后十年來首次推出新的芯片架構(gòu)。Arm表示,與以前的架構(gòu)相比,Armv9提供了三大主要改進(jìn),即安全性更高,更好的AI性能,以及總體上速度更快。
    的頭像 發(fā)表于 04-01 15:17 ?2277次閱讀

    Arm推出三款基于Armv9架構(gòu)的全新CPU內(nèi)核

    從全面升級(jí)到Armv9架構(gòu),到公布Neoverse V1和N2平臺(tái)技術(shù)細(xì)節(jié),再到推出三款基于Armv9架構(gòu)的全新CPU內(nèi)核,短短兩個(gè)月時(shí)間里,Arm全面計(jì)算(Arm Total Com
    的頭像 發(fā)表于 06-12 09:11 ?4166次閱讀

    下一代Arm服務(wù)器CPU內(nèi)核:Neoverse V2和E2

    首先,Armv9的升級(jí)帶來了最新Arm架構(gòu)附帶的全套功能。這包括作為架構(gòu)基石功能的安全改進(jìn)(尤其適用于云共享環(huán)境)以及Arm較新的SVE2矢量擴(kuò)展。
    發(fā)表于 10-14 10:57 ?1244次閱讀

    Arm微架構(gòu)之Armv9時(shí)代

    在介紹Armv9系列前,我們先看一下ARM的Cortex-X定制CPU計(jì)劃。Cortex-X方案先于Armv9發(fā)布,在Arm發(fā)布A78時(shí),同時(shí)也發(fā)布了Cortex-X1這一顆性能強(qiáng)大的CPU
    的頭像 發(fā)表于 02-06 14:43 ?8808次閱讀

    Armv8架構(gòu)和Armv9架構(gòu)的區(qū)別分析

    新的Armv9兼容CPU所承諾的最大的新功能可能是開發(fā)人員和用戶可以立即看到的——SVE2作為NEON的后繼產(chǎn)品。
    發(fā)表于 03-10 14:02 ?4646次閱讀

    Armv9Armv8服務(wù)器有何不同

    新的Armv9兼容CPU所承諾的最大的新功能可能是開發(fā)人員和用戶可以立即看到的——SVE2作為NEON的后繼產(chǎn)品。 可伸縮矢量擴(kuò)展(SVE)的于2016年首次亮相,并首次在富士通的A6
    發(fā)表于 03-29 14:02 ?683次閱讀