我正在尝试在Neon中实现直方图。可以向量化吗?

最佳答案

不幸的是,直方图化几乎不可能矢量化。

但是,您可能可以对标量代码进行某种程度的优化-一个常见的技巧是使用两个直方图,然后在最后合并它们。这使您可以重叠加载/增加/存储,从而掩埋一些串行依赖项和关联的延迟。伪代码:

init histogram 1 to all 0s
init histogram 2 to all 0s
loop
  get input value 1
  get input value 2
  load count for value 1 from histogram 1
  load count for value 2 from histogram 2
  increment count for histogram 1
  increment count for histogram 2
  store count for value 1 to histogram 1
  store count for value 2 to histogram 2
until done
combine histogram 1 and histogram 2

关于image-processing - 在SIMD中对直方图进行矢量化的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60038987/

10-12 13:35