【发布时间】:2022-01-22 18:08:26
【问题描述】:
例如,如果我编译支持 AVX2 的 FFTW 并在只有 SSE3 的机器上运行它,它会检查并使用 SSE3 指令,还是立即崩溃?
如果它不会动态确定SIMD版本,我会在较低的目标机器下编译。
【问题讨论】:
例如,如果我编译支持 AVX2 的 FFTW 并在只有 SSE3 的机器上运行它,它会检查并使用 SSE3 指令,还是立即崩溃?
如果它不会动态确定SIMD版本,我会在较低的目标机器下编译。
【问题讨论】:
来自https://www.fftw.org/fftw3_doc/Installation-on-Unix.html的安装文档
--enable-sse(单精度),...和--enable-generic-simd256:
启用各种 SIMD 指令集。您需要支持的编译器 给定的 SIMD 扩展,但 FFTW 将尝试在运行时检测 CPU 是否支持这些扩展。也就是说,你可以编译 使用--enable-avx 和 代码仍将在没有 AVX 的 CPU 上运行 支持。
如果请求的目标不可用,我不知道它是否会尝试多个较低级别的支持。
【讨论】: