使用 SIMD 指令进行平滑样条

发布于 2025-01-03 08:47:07 字数 702 浏览 1 评论 0原文

我在代码中使用这种类型的样条,我想知道该算法是否可以受益来自SIMD指令的使用。 (ARM 上的 NEON)使用的代码是以下源代码的 C 翻译(Fortran 语言):

您能否根据您的经验判断,如果这代码有机会通过使用 SIMD 指令进行优化吗?

是否有将代码从“正常”代码转换为使用 SIMD 指令的代码的指南?

谢谢

I'm using this type of spline in my code and I'm wondering if the algorithm can benefit from the use of SIMD instructions. (NEON on ARM) The code used is a C translation of the following sources (in Fortran):

Can you tell, from your experience, if this code has a chance of being optimized by using SIMD instructions?

Is there a guideline for converting code from 'normal' code to code using SIMD instructions?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

万人眼中万个我 2025-01-10 08:47:07

看起来循环中存在串行依赖性,因此,如果您有多个可以并行操作的数据集(例如 4 个),那么可能容易使用 SIMD 进行矢量化的唯一方法。这些数据集需要具有相同的大小。

It looks like there are serial dependencies in the loops, so probably the only way that this will lend itself easily to vectorization with SIMD is if you have multiple data sets (e.g. 4) which you can operate on in parallel. These data sets would need to be the same size.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文