我正在使用特征库在iPad 2上做一些计算。皮层-A9)。似乎有些操作是使用霓虹灯指令矢量化的,而其他操作则不是。
我尝试过的得到矢量化的操作:点积,向量和矩阵加法和减法。
不被向量化的运算:矩阵乘法。
我在同一个项目和同一个文件中使用这些操作,所以编译器选项是相同的。我在用-O3 -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfp
。
我使用的所有矩阵都有动态大小。我是不是做错了什么,或者这是我期望的行为?
谢谢。
发布于 2013-06-10 14:36:12
当你使用-mfpu=neon
时,gcc/clang将整数运算矢量化,但不是浮点,因为霓虹灯不是100% IEEE-抱怨(它不支持数字)。您必须指定-ffast-math
使gcc/clang用霓虹灯将浮点代码矢量化。但是,您必须小心,因为-ffast-math
可能会影响数值结果。
https://stackoverflow.com/questions/17024954
复制相似问题