vector-processing

    10热度

    3回答

    我有一个__m256d矢量,它包含四个64位浮点值。 我需要找到向量元素的水平最大值并将结果存储在双精度标量值中; 我的尝试都结束了使用了很多向量元素的混洗,使代码不是非常优雅,也没有效率。另外,我发现不可能只保留在AVX域名中。在某些时候,我不得不使用SSE 128位指令来提取最终的64位值。但是,我想在最后的声明中被证明是错误的。 所以最理想的解决方案是: 1)只能使用AVX指令。 2)最小化

    4热度

    5回答

    有没有人利用gcc可以做的自动矢量化?在现实世界中(而不是示例代码)?是否需要重组现有代码才能获得优势?在任何生产代码中是否有大量的情况可以通过这种方式进行矢量化?

    4热度

    3回答

    在某种意义上,手动矢量化代码,使用显式编译指示或依赖或使用自动矢量化会更好吗?为了使用自动矢量化获得最佳性能,必须监视编译器输出以确保循环正在被矢量化或修改它们直到它们是可矢量化的。通过手动编码,人们可以确定正在发送所需的指令,但现在代码可能不可移植(无论是对其他架构还是其他编译器)。