工具/软件:
您好:
我们正在尝试通过编译代理人(例如"libtidl-tfl-delegate.so")来确定我们的 Tensorflow (使用带有 EdgeAI 工具包的 Arago-Linux;TI 提供的 OpenEmbedded 的默认构建选项)实际使用"高级 SIMD "指令、从而验证其一般可用性和后续反汇编
objdump --disassemble-all libtidl_tfl_delegate.so
我们期望看到与此处所述操作码类似的操作码: ARM Cortex-A (ARMv7-A)系列编程人员指南
但是、我们在反汇编中没有找到任何内容!
然后我们尝试了另一个类似的程序:
#include "stdio.h" #include "arm_neon.h" int main { float a[4] = {1.0, 2.0, 3.0, 4.0}; float b[4] = {5.0, 6.0, 7.0, 8.0}; float res[4]; float32x4_t a_vec = vld1q_f32(a); float32x4_t b_vec = vld1q_f32(b); float32x4_t res_vec = vaddq_f32(a_vec, b_vec); vst1q_f32(result, res_vec); return 0; }
我们在目标上编译了此代码(添加了"-March=ARMv8-a+SIMD "、但未添加)、确定程序正常运行;然而、在 disassmblies 中似乎没有使用"v.add"操作码(有关相关函数的反汇编、请参阅随附的文件)。
我们如何验证矢量指令是否正在实际使用?
此致、
Stefan Birkholz