我有一个执行图像处理的繁重的数字运算程序。它主要是卷积。它是用 C++ 编写的,并使用 Mingw GCC 4.8.1 编译。我在配备 Intel Core i7 4900MQ(SSE 最高 SSE4.2 和 AVX2)的笔记本电脑上运行它。
当我告诉 GCC 使用 SSE 优化(使用 -march=native -mfpmath=sse -msse2 )时,与使用默认的 x87 FPU 相比,我没有看到任何加速。
当我使用双打而不是浮点数时,没有减速。
我的理解是,当使用浮点数而不是双精度数时,SSE 应该给我 2 倍的加速。我弄错了吗?