RISC V 的任何 Neon 等价物?
Any Neon equivalent for RISC V?
我正在尝试将 ARM 库移植到 RISC-V。源代码包括对 arm_neon.h 的引用。 RISC-V 工具链不包含任何 NEON 源代码,因此,我想知道是否存在任何等效项。
此外,是否有关于将 ARM 库移植到 RISC-V 的资源?
我想这取决于你所说的“等效”是什么意思。
RISC-V 目前 还没有真正的 SIMD。在扩展上工作,RISC-V V specification 正在进行中,AFAICT(从局外人的角度来看)它已经非常接近了。 API 可能更像 SVE 而不是 NEON,但如果您只是询问用于 RISC-V 的 SIMD API,那可能是您最好的选择。
NEON 还支持 64 位向量,这很少见。 MMX 在某种程度上支持它们,但没有人真正使用 MMX,而且 Intel 也没有真正添加在 64 位向量上运行的新功能。如果您喜欢 64 位向量,您可能对 RISC-V P specification 更感兴趣。它并没有那么远,因此您可能需要等待更长的时间才能获得硬件支持。
如果您关心的是匹配 API 这样您就不必手动移植代码,那么最好的选择可能是我的项目之一,SIMD Everywhere (SIMDe)(所以很明显建议持保留意见)。实施 NEON 的工作正在进行中,但我们目前已经完成了一半多一点。目前还没有任何 RISC-V 特定的实现(我们可能会在编译器开始支持它之后开始尝试添加支持),但是由于没有实现 V 规范的普遍可用的硬件,所以这并不重要。
我正在尝试将 ARM 库移植到 RISC-V。源代码包括对 arm_neon.h 的引用。 RISC-V 工具链不包含任何 NEON 源代码,因此,我想知道是否存在任何等效项。
此外,是否有关于将 ARM 库移植到 RISC-V 的资源?
我想这取决于你所说的“等效”是什么意思。
RISC-V 目前 还没有真正的 SIMD。在扩展上工作,RISC-V V specification 正在进行中,AFAICT(从局外人的角度来看)它已经非常接近了。 API 可能更像 SVE 而不是 NEON,但如果您只是询问用于 RISC-V 的 SIMD API,那可能是您最好的选择。
NEON 还支持 64 位向量,这很少见。 MMX 在某种程度上支持它们,但没有人真正使用 MMX,而且 Intel 也没有真正添加在 64 位向量上运行的新功能。如果您喜欢 64 位向量,您可能对 RISC-V P specification 更感兴趣。它并没有那么远,因此您可能需要等待更长的时间才能获得硬件支持。
如果您关心的是匹配 API 这样您就不必手动移植代码,那么最好的选择可能是我的项目之一,SIMD Everywhere (SIMDe)(所以很明显建议持保留意见)。实施 NEON 的工作正在进行中,但我们目前已经完成了一半多一点。目前还没有任何 RISC-V 特定的实现(我们可能会在编译器开始支持它之后开始尝试添加支持),但是由于没有实现 V 规范的普遍可用的硬件,所以这并不重要。