我在这里得到了一个非常简单但很大(n很大)的循环:
¢
我想使用NEON对其进行优化,但我不知道如何处理这一部分:for (i=0; i<n; i++)
{
dst[i] = src[table[i]];
}
。
有可能优化吗?如果是,怎么样?
答案 0 :(得分:1)
感谢@Paul R和他的评论:
这实际上是一个聚集的负载,在NEON中不受支持。参见: stackoverflow.com/questions/11502332/…
由于NEON无法优化,我尝试了OpenMP,并取得了显着的进步。代码也很简单:
#pragma omp parallel for
for (i=0; i<n; i++)
{
dst[i] = src[table[i]];
}