gpt4 book ai didi

android - 在 Android 中使用浮点向量化

转载 作者:行者123 更新时间:2023-11-30 03:44:19 24 4
gpt4 key购买 nike

我正在计算从 n 维 (10-39) 点到数组的距离的很多实例。我希望它运行得尽可能快,适用于 Android 4.0+,特别是适用于 Galaxy S3。我已经让硬件 FPU 正常工作,但在某处听说您可以通过矢量化和 NEON 加快速度。类似这样的问题Android build system, NEON and non-NEON builds但是不要给我一个简单的答案。

我可以在 S3 中使用此矢量化的最简单方法是什么,示例显示了这种计算的加速(n 个暗点距离到 n 个暗向量)。

这是循环代码:

// go through each point in the vector
for (bi=0; bi<sizeOfVect; bi++) {
r[bi] = 0.0; // initialise distance

//calculate distance in each dimension (d is 10-39 depending)
for (di=0; di<d; di++) {
rj[di] = s1[i*d+di] - b[bi*d+di];
// s1 is the n dim point, b is the vector array
r[bi] += rj[di]*rj[di];
}
}

最佳答案

从 CPU(专注于 ARM)获得矢量化有两种选择;要么编译器帮助你,要么你自己做。

您可以利用 vector instructions (NEON)在 ARM CPU 中通过编写汇编或使用 intrinsics .

您可以从编译器获得帮助,但随后您必须编写可向量化代码。有关如何获得此信息的示例,请参阅此 so post .

关于android - 在 Android 中使用浮点向量化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15243722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com