我尝试编译 netlib hpl linpack 基准测试,但我想禁用矢量化。
我删除了 make 文件中的所有优化标志,并且只-qno-openmp-simd -no-vec -no-simd
设置了这些标志。
但是,当我执行 binaryxhpl
时,walltime 和 FLOPs 与设置所有优化标志并且代码被矢量化时相同。此外,likwid 的矢量化率约为 98%。
我读到这些标志不会阻止像 MKL 这样的库被矢量化。netlib HPL 使用来自 MKLROOT 的线性代数库(BLAS 或 VSIPL)。
在编译这个特定的基准测试时,我可以强制编译器禁用矢量化吗?如果可以,怎么做?