我正在寻找有关 Arm 的新型可扩展向量单元 (SVE) 的信息。在我看来,它对于图像处理来说非常好,能够并行计算 2048 位等等。但我不确定它是否会在每个 Armv8(如 RPI 3)或某些超级计算机上运行。有谁知道它将包含在 Linux 内核中的时间表吗?
我在2016年8月阅读了公告中的链接。但我希望获得更新的信息。
在通用 SIMD 库中,我们正在研究支持长度不可知的问题sve
但是,我们无法将sizeless
寄存器包装到结构中以对其进行一些元编程。
struct foo {
svint8_t a;
};
Run Code Online (Sandbox Code Playgroud)
有办法做到吗?要么 clang 要么 gcc。
我发现一些讨论__sizeless_struct
和一些补丁到处乱飞,但我认为它没有去任何地方。我还发现了这些gcc 测试- 没有将寄存器包装在结构中。
有 ARM 软件优化指南(例如, neoverse n1 的https://developer.arm.com/documentation/srog309707/latest)。
本指南似乎不包含 Neon 或 SVE 的延迟和吞吐量。NEON 或 SVE 是否有单独的指南(例如,INSR (SIMD&FP scalar)
指令的指令延迟和吞吐量)?
指针会非常有帮助!