您好:
我在armv8下(arch64)下使用neon中遇到一些疑问,希望得到大家解答
1、在armv8下是编译的时候使用了O3优化,相关计算就会自动使用neon吗
2、同样一段计算函数,计算速度是不是
NEON assembly >NEON intrinsics> NEON C
3、有关NEON intrinsics的相关指令使用方法介绍,有详细的说明文档吗,
目前参考https://developer.arm.com/technologies/neon/intrinsics,但里面相关指令都只有简单的汇编语句,功能看的不是很明白
4、neon的工作主频是跟arm的主频一致吗,我们之前使用的armv7架构cpu,当把arm的主频调高后,neon的计算速度也会变快
但现在我们用armv8平台的cpu,把arm的主屏调高后,neon的计算速度没有任何变化
谢谢!
Hi,
> 1、在armv8下是编译的时候使用了O3优化,相关计算就会自动使用neon吗?
对的。GCC可以通过自动向量化产生NEON指令。
> 2、同样一段计算函数,计算速度是不是
NEON C是指什么?NEON assembly是最快的。因为你人工写总可以写得比编译器好。
> 3、有关NEON intrinsics的相关指令使用方法介绍,有详细的说明文档吗
详细的指令文档是ARM referenece manual。另外与NEON相关的有一本手册(NEON Programmer’s Guide)也可以参考。http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0018a/index.html
>4 neon的工作主频是跟arm的主频一致吗
我印象是一致的。有一种可能是你的代码热点不在NEON计算上,所以主频上升可能也没有用。
谢谢你的回答:
我还想问一下
1、cortexA53是不是比cortexA15性能要逊色一些。
我们测试发现,同样的主频(1.5G),同样使用两个核,同样一段neon计算工程在cortextA53(imx8mq)比cortexA15(AM5728)要慢1/3
2、你提到neon intrinsics指令详细的指令文档可以参考ARM referenece manual,你指的是ARM Compiler toolchain Assembler Reference.pdf文档吗,
如果不是,有链接地址吗,关于armv8(aarch64)体系架构的
> 1、cortexA53是不是比cortexA15性能要逊色一些。
对的。A53是定位上是比A15要低端。你的测试结果是对的。
> 2、你提到neon intrinsics指令详细的指令文档可以参考ARM referenece manual
抱歉,刚刚忘了给链接了。是在这里: developer.arm.com/.../arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile