【发布时间】:2016-07-07 17:41:28
【问题描述】:
我正在寻找用于 float4 / double4 结构的 AVX-256/512 代码,它重载基本操作 *、+、/、-、标量缩放等,以便在编写的代码中从向量操作中快速提升性能使用 float4/double4。 OpenCL 将这些数据类型作为内在函数,但在 XeonPhi 上运行的 c++ 代码需要利用 512 位 SIMD 单元的新实现。
【问题讨论】:
-
离题,不明智。使用 SIMD 向量作为向量有时是合理的,但通常是一个坏主意 - 考虑点积和归一化,水平执行它们效率低下。加法当然没问题。所以这取决于你打算对向量执行什么操作。
-
我知道点积不适合这种方法。我想要的操作是*,+,/,-,+=,-=,/=,*=, 乘除以标量
-
那没关系。当然,它实际上不会使用 512 位 SIMD,毕竟 4 个双精度数只有 256 位