小编Kur*_*oda的帖子

x86(带SSE2)和ARM(带vfpv4 NEON)上的尾数为11位的atan2近似

我正在尝试以尾数11位精度实现快速atan2(float)。atan2实现将用于图像处理。因此,最好使用SIMD指令(针对x86(带有SSE2)和ARM(带有vpfv4 NEON)的impl)实现。

现在,我使用chebyshev多项式逼近(https://jp.mathworks.com/help/fixedpoint/examples/calculate-fixed-point-arctangent.html)。

我愿意手动实现矢量化代码。我将使用SSE2(或更高版本)和NEON包装器库。我计划或尝试了这些实施选项

  • 向量化多项式逼近
    • 切比雪夫多项式(现已实现)
  • 标量查找表(+线性插值)
  • 向量化查找表(这可能吗?我对NEON不熟悉,所以我不知道NEON中的VGATHER之类的说明)
  • 向量化的CORDIC方法(这可能很慢,因为它需要进行12次以上的旋转迭代才能获得11位精度)

否则好主意?

sse simd neon

4
推荐指数
1
解决办法
467
查看次数

标签 统计

neon ×1

simd ×1

sse ×1