何时使用英特尔的指令集扩展技术是有意义的,它到底是做什么的?
My场景:,我希望尽可能快地执行~500.000矩阵向量乘法。
矩阵大小: 4x4维向量大小: 1x4
发布于 2020-10-25 06:07:29
如果你能保证你的客户有一定程度的SIMD支持,我看不出是什么阻碍了你。
SIMD已经存在了足够长的时间,要求你的客户拥有它并不是不合理的。
举个例子:https://learn.microsoft.com/en-us/cpp/build/reference/arch-x86?view=vs-2019 https://learn.microsoft.com/en-us/cpp/build/reference/arch-x64?view=vs-2019
x86-64保证了SSE2是可用的,所以编译器总是将其用于64位构建。(从某种意义上说,它不再是扩展,只是x86-64 ISA的基线部分)。
编辑:
谢谢你编辑彼得·科德斯!
但我也想向用户指出,如果他们对SIMD感兴趣,他们可能想研究一下OpenCL。
https://en.wikipedia.org/wiki/OpenCL
OpenCL帮助用户编写非常高效的SIMD程序。
https://stackoverflow.com/questions/64520752
复制相似问题