【发布时间】:2013-03-23 02:51:09
【问题描述】:
在helpful but somewhat dated 2006 年 11 月关于使用 vDSP 对代码进行矢量化的文章中,作者声明:
要记住的重要一点是,只有使用 步幅等于 1 将提供极快的矢量化代码。
今天仍然如此吗?即使在具有更强大矢量内在函数的较新 Intel 处理器上?
我之所以问,是因为我正在编写一些矩阵数学例程,并且刚刚开始将它们全部切换为使用 Fortran 之类的列优先排序,以努力成为更容易与 MATLAB、BLAS 和 LAPACK 兼容。但现在我发现我对 vDSP 的一些调用需要处理不再连续的向量……
目前,这些 vDSP 调用是我的代码执行的瓶颈例程。并不是说这将总是如此,但至少现在我不想放慢它们的速度,只是为了更简单地调用那些其他库。
我现在最常调用的 vDSP 例程是 vDSP_distancesq,以防万一。
【问题讨论】:
标签: performance vectorization intrinsics vdsp vmat