0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Armv9 CPU中SVE2的实际用例

Arm社区 来源:Arm社区 2024-10-21 09:54 次阅读

作者:Arm 终端事业部消费计算市场高级经理 Poulomi Dasgupta

随着每一代新产品的推出,Arm CPU 都会实现代际性能提升,并引入架构改进,以满足不断演进的计算工作负载的需求。本文将重点介绍三个用例,以展示 Armv9 CPU 的架构特性在实际场景中产生的影响,特别是在 HDR 视频解码(加速 10%)、图像处理(加速 20%)、主要移动端应用中的功能 LibYUV(加速 26%)。

好消息是,本文中讨论的一些 Arm SVE2 优化现已可供开发者获取使用,有望提升热门媒体应用的用户体验,进一步改善人们沟通、工作和娱乐的方式。

应用开发者和 OEM 厂商面临的挑战

首先,从移动端应用开发者当前面临的挑战来看,目前市场上有超过 200 万个安卓应用[1]在争夺用户的青睐。这些应用要想保持竞争力,就必须迅速将创新成果推广到各种移动设备上。倘若依赖于功能固定的硬件,会面临产品上市时间和可移植性等方面的挑战。

与出色的用户体验相关的指标,包括应用启动时间、UI 流畅度、每秒词元 (token) 数和每秒帧数 (FPS) 稳定性等都需要切实满足用户期望。因此,OEM 厂商需要在性能提升与更广泛的用户需求(如延长电池续航时间、减少数据使用量和设备成本)之间取得平衡。其中任一方面存在不足,都可能导致用户不满意,否定升级移动设备的价值。

在 Armv9 CPU 上开发软件可以解决 OEM 厂商和开发者所面临的挑战。

Armv9 CPU 中 SVE2 的实际用例

让我们来看三个案例研究,证明软件优化可以加速实际工作负载。首先,以下是 SVE2 的一个子集和可加速移动设备上关键工作负载的 Armv9 CPU 中的新矢量指令:

16 位点积和 8 位矩阵乘法,可加速 HDR 视频播放和视频会议。

图像处理直方图指令。

聚合读取和分散存入,用于摄像头传感器数据的解交织处理。

复数指令,用于加速视频编解码器中的快速傅里叶变换。

使用这些矢量指令可使优化的软件使用更少的 CPU 周期,带来两大好处。第一,CPU 周期减少使得能耗降低,增加电池续航时间;第二,提高应用性能。

案例 1

SVE2 使视频解码速度提高 10%

观看多媒体内容是移动设备上最常见的工作负载之一,也是移动端网络较大的流量来源。因此,厂商不断追求更高效的编解码器,希望在节省网络带宽的同时,支持出色的图像质量。

HDR 技术由于色彩准确度更高,可呈现更加逼真的细节,即使是在非常暗或非常亮的场景中也是如此。它使用 10 位而非 8 位来表示每个色彩通道。AV1 和 VP9 以及其他现代编解码器,且都支持 HDR 视频。

AV1 是一种较新的格式,可提供更好的压缩效果,而 VP9 则在各种浏览器和设备中具有更广泛的兼容性。一些热门应用都使用 AV1 和 VP9 格式来播放视频。

SVE2 优化使 HDR 视频解码速度提高了约 10%,VP9 解码速度提高了 8%,AV1 解码速度提高了 10%。这使得 CPU 周期减少约 10%,电量消耗也相应减少,让用户在移动设备上播放点播视频时能够获得更长的电池续航时间。如此一来,无论是观看快拍、短片还是长视频,都将变得更加顺畅!

对 libdav1d(Av1 解码器)和 libvpx(Vp9 解码器)的优化代码已经上传,开发者现可获取使用。

案例 2

SVE2 使 LibYUV 速度提高了 26%

值得一提的是,我们每个人都在不知不觉中使用了 LibYUV。

LibYUV 是一个开源库,用于 RGB 和 YUV 之间的色彩空间转换、摄像头传感器数据缩放,以及摄像头滤镜和旋转。在经由视频解码器使用之前,它会对来自摄像头传感器的数据进行处理。在很多情况下,视频解码器中的数据会先通过 LibYUV 进行处理,然后再发送去显示。

SVE2 优化使 LibYUV 速度提高了 26%(Armv9 CPU 上多个内核的几何平均值)。LibYUV 中大约有 100 个内核已使用 SVE2 进行了优化,其他内核的优化工作正在进行中。部分工作已完成上传,可在 https://chromium.googlesource.com/libyuv/libyuv/上查看。

LibYUV 作为 Chromium 的一部分进行分发。Chromium 是一个开源浏览器项目,为 Chrome 及主要手机厂商的定制浏览器(包括小米浏览器和三星浏览器等)奠定了基础。它还被集成到 AOSP 和 Android Jetpack 中。由于 LibYUV 对移动设备至关重要,它有望对整体移动端体验产生深远的影响,例如带来更好的视频会议体验、更顺畅的竖屏和横屏模式切换,以及更好的视频消费体验,并且大大延长电池续航时间。

案例 3

SVE2 使计算摄影速度提高 20%

Halide 是一种专门用于图像处理领域的语言,用于 Adobe Photoshop 等应用,一些 OEM 厂商也将它用于摄像头管线。

SVE2 指令(例如聚合读取和分散存入指令)和 TBL(可编程查表,用于矢量化小型查询表)加速了 Halide 中的一些关键计算机视觉流程。iToFDepth(用于感知深度)、双边网格(用于边缘感知色调映射)和局部拉普拉斯(用于滤镜)等计算密集型算法在采用 SVE2 后,性能提升了近 20%。

使用 SVE2 来优化软件可以实时应用一些摄影效果,为入门级移动设备开辟了新的可能性,用户无需专用硬件即可获得更高质量的照片。

Arm 已针对 SVE2 代码生成优化了 Halide 后端。好消息是,一些补丁已经上线,其他补丁也正在开发中。

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

图:Halide-SVE2 和 Halide-Neon CPU 周期数对比

如何更好地使用 SVE2?

SVE2 引入了几个新指令,非常适合加速关键的实际工作负载和应用。我们将在后续的技术文章中更详细地讨论如何使用 Armv9 CPU 实现一些性能提升,请持续关注“Arm 社区”微信公众号,敬请期待!

Arm 致力于为生态系统找到良好的平衡点,更好地兼顾开发者支持和性能提升。一些针对 SVE2 进行优化的开源库和内核已经上线,未来还会有更多资源。

Armv9 CPU 的最新进展将使开发者能够更快实现创新,为各类移动设备的最终消费者带来更好的用户体验。还等什么,赶紧采用 SVE2 开始你的开发项目,实现创新吧!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9027

    浏览量

    366432
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10802

    浏览量

    210768
  • 图像处理
    +关注

    关注

    27

    文章

    1275

    浏览量

    56566
  • 视频解码
    +关注

    关注

    1

    文章

    49

    浏览量

    18124

原文标题:Armv9 技术讲堂 | 利用 Armv9 CPU 和 SVE2 加速视频解码和图像处理

文章出处:【微信号:Arm社区,微信公众号:Arm社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Arm下一代指令架构“Armv9”已经问世

    Arm的下一代CPU指令集架构(ISA:指令集架构) Armv9开始推出。该公司正在逐步扩展当前的ISA Armv8,而扩展的高潮最终将成为Armv9的搭建桥梁。至于
    的头像 发表于 11-13 11:55 4.4w次阅读

    Armv9核心A710、A715和A510微架构解读

    在介绍Armv9系列前,我们先看一下ARM的Cortex-X定制CPU计划。Cortex-X方案先于Armv9发布,在Arm发布A78时,同时也发布了Cortex-X1这一颗性能强大的CPU
    发表于 06-12 09:27 2.4w次阅读
    <b class='flag-5'>Armv9</b>核心A710、A715和A510微架构解读

    浅析Armv9-A构架上的可伸缩矩阵扩展(SME)

    1Armv8.4-A:支持了8-bit整型的点积运算指令(DOT指令)Armv8.6-A: 支持在向量寄存器里做整型和浮点型的矩阵乘指令,和BFloat16数据类型Armv9-A: 支持了SV
    发表于 08-05 15:02

    一文详解SIMD架构与SVE2的演进

    。在 Armv9 为 ML 和 DSP 扩展矢量处理(来自 Arm Vision Day)什么是 SVESVE2?利用并行执行指令(称为 SIMD(单指令多数据)指令)可以加
    发表于 08-12 15:50

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

    基于Armv9 CPU的手机芯片已经被广泛采用。早在2020年,arm已经和google合作将这些新特性带入到Android 12, NDK r23也支持了PAC, BTI等。1. 如何利用PAC
    发表于 10-13 11:44

    一文浅析SVESVE2

    计。 实现上是覆盖式的,支持SVE/SVE2,一定支持Neon。我个人的理解,SVESVE2最大的好处是软件是灵活的,一开始就考虑到指令
    发表于 11-02 14:26

    了解Armv9-A体系结构之SVE2简介

    本指南是Armv9-A 结构的可缩放矢量扩展(SVE2) 第二版第二版的简短导言。 您可以在此指南中了解 SVE2 的概念和主要特点、 SVE2 的应用领域以及
    发表于 08-02 08:19

    SVE编程示例

    支持。 SVE2是可伸缩向量扩展v2,是具有扩展功能的ARMv8-A SVE的超集。 SVE2指令集添加了全面的整数算术支持
    发表于 08-22 06:29

    重磅!Arm正式推出Armv9架构

    当地时间3月30日,Arm宣布正式推出Armv9架构,以应对全球对无处不在的专业化处理的需求,这种处理具有越来越强大的安全性和人工智能(AI)能力。Armv9是ARM公司十年来的最大技术革新。上一代
    发表于 03-31 09:43 2614次阅读
    重磅!Arm正式推出<b class='flag-5'>Armv9</b>架构

    浅谈ARM发布Armv9的三大改进

    英国芯片设计公司Arm周二发布了Armv9,这是其在2011年发布Armv8之后十年来首次推出新的芯片架构。Arm表示,与以前的架构相比,Armv9提供了三大主要改进,即安全性更高,更好的AI性能,以及总体上速度更快。
    的头像 发表于 04-01 15:17 2301次阅读

    Arm推出三款基于Armv9架构的全新CPU内核

    从全面升级到Armv9架构,到公布Neoverse V1和N2平台技术细节,再到推出三款基于Armv9架构的全新CPU内核,短短两个月时间里,Arm全面计算(Arm Total Com
    的头像 发表于 06-12 09:11 4184次阅读

    下一代Arm服务器CPU内核:Neoverse V2和E2

    首先,Armv9的升级带来了最新Arm架构附带的全套功能。这包括作为架构基石功能的安全改进(尤其适用于云共享环境)以及Arm较新的SVE2矢量扩展。
    发表于 10-14 10:57 1275次阅读

    Arm微架构之Armv9时代

    在介绍Armv9系列前,我们先看一下ARM的Cortex-X定制CPU计划。Cortex-X方案先于Armv9发布,在Arm发布A78时,同时也发布了Cortex-X1这一颗性能强大的CPU
    的头像 发表于 02-06 14:43 8924次阅读

    Armv8架构和Armv9架构的区别分析

    新的Armv9兼容CPU所承诺的最大的新功能可能是开发人员和用户可以立即看到的——SVE2作为NEON的后继产品。
    发表于 03-10 14:02 4701次阅读

    Armv9Armv8服务器有何不同

    新的Armv9兼容CPU所承诺的最大的新功能可能是开发人员和用户可以立即看到的——SVE2作为NEON的后继产品。 可伸缩矢量扩展(SVE)的于2016年首次亮相,并首次在富士通的A6
    发表于 03-29 14:02 703次阅读