ARM技术论坛
直播中

刘埃生

7年用户 1654经验值
私信 关注
[经验]

一文浅析SVE和SVE2

Neon, SVE 和SVE2都是SIMD(Single Instruction Multiple Data)。

Neon架构是固定128bit 矢量(vector)长度的指令集。

SVE(Scalable Vector Extension)就是支持灵活矢量长度(128-2048,以128为步长)的指令,为了HPC和ML而设计。

SVE2就是SVE和Neon的超集,SVE2继承了SVE的概念,寄存器,操作原则等等,最大的增强是功能覆盖性扩展了。 SVE2支持计算机视觉,5G,多媒体等多方面。 其实,就是增加了多条新指令。

SVE和SVE2 不是Neon的扩展(其实,这样理解也没有问题),而是重设计。 实现上是覆盖式的,支持SVE/SVE2,一定支持Neon。

我个人的理解,SVE和SVE2最大的好处是软件是灵活的,一开始就考虑到指令中vector的长度可变,因此软件一开始就支持从128到2048bits的全长度。 其次是指令设计更合理。实现,肯定是一个执行引擎,就把Neon,SVE,SVE2全覆盖了,如图。

1.jpg

原作者:Winnie.shao@2020

更多回帖

发帖
×
20
完善资料,
赚取积分