我收到了编译错误:
无法识别的命令行选项'-mfpu = neon'*
当试图用-mfpu = neon标志编译时。 实际上,我试过的任何'mfpu'选项都失败了。但是在文档中提到了这个标志,所以它应该是有效的
这把钥匙有什么问题? 我怎么能告诉编译器使用NEON?
使用Linaro GNU aarch64 linux工具4.8。
感谢。
答案 0 :(得分:19)
高级SIMD(又名NEON)对于AArch64是强制性的,因此不需要命令行选项来指示编译器使用NEON。
如果要启用自动向量化优化,以便编译器自动使用NEON指令,则使用-O3
或-O2 -ftree-vectorize
进行编译。
AArch64和ARM后端在gcc中是完全独立的。 ARM后端仅针对传统的32位ARM指令集(ARM,Thumb,Thumb-2)。这与x86的情况形成对比,其中32位和64位代码生成被组合成单个GCC后端。
答案 1 :(得分:1)
转到文件/ tensorflow / contrib / lite / kernels / internal / BUILD,删除-mfpu = neon即可。 从: NEON_FLAGS_IF_APPLICABLE =选择({ “:arm”:[ “ -O3”, “ -mfpu = neon”, ]
至: NEON_FLAGS_IF_APPLICABLE =选择({ “:arm”:[ “ -O3”
],