在之前曾经找到过一个基于NEON指令的数学库math-neon(见“一个基于NEON指令的数学库”),最近又发现另一个数学库Ne10,其基本介绍如下:
Ne10 是由ARM主导开发的一个开源软件库。该库旨在提供一系列通用的,基于ARM NEON架构并且经过深度优化的函数集合。通过调用该库函数可以让软件开发人员免于编写重复的底层汇编代码,同时也能充分利用ARM NEON SIMD指令的并行运算能力。Ne10主要包含math, dsp以及新添的imgproc三个功能模块:
l math 数学模块:主要包含矢量/矩阵数学运算。
l dsp 数字信号处理模块:主要包含FFT快速傅立叶变换,以及部分FIR/IIR滤波函数。
l imgproc 图像处理模块:主要包含图像缩放,旋转等图像后处理函数。
其逻辑框图如下:
大概看了一下代码,Ne10主要侧重于矩阵和向量的数学运算;而math-neon主要侧重于三角函数、对数、指数等复杂运算。使用mingw32ce编译,除了dsp模块有一些指令无法编译外,math和imgproc是可能编译通过生成静态库的。
关于Ne10的具体介绍可以参阅下面两个链接:
http://blogs.arm.com/software-enablement/874-ne10-library-getting-started/