编译 HPL Linpack 基准测试时禁用矢量化
Disable vectorization when compiling HPL Linpack benchmark
我尝试编译 netlib hpl linpack 基准测试,但我想禁用矢量化。
我删除了 make 文件中的所有优化标志,只设置了 -qno-openmp-simd -no-vec -no-simd
标志。
但是,当我执行二进制文件 xhpl
时,walltime 和 FLOPs 与设置所有优化标志和矢量化代码时相同。此外,likwid 显示矢量化比率约为 98%。
我读到这些标志不会阻止像 MKL 这样的库被矢量化。 netlib HPL 使用来自 MKLROOT 的线性代数库(BLAS 或 VSIPL)。
我可以强制编译器在编译此特定基准时禁用矢量化吗?如果可以,怎么做?
这是预期的行为,因为大部分计算发生在已经构建的 BLAS 或 BSNL 中。
我尝试编译 netlib hpl linpack 基准测试,但我想禁用矢量化。
我删除了 make 文件中的所有优化标志,只设置了 -qno-openmp-simd -no-vec -no-simd
标志。
但是,当我执行二进制文件 xhpl
时,walltime 和 FLOPs 与设置所有优化标志和矢量化代码时相同。此外,likwid 显示矢量化比率约为 98%。
我读到这些标志不会阻止像 MKL 这样的库被矢量化。 netlib HPL 使用来自 MKLROOT 的线性代数库(BLAS 或 VSIPL)。
我可以强制编译器在编译此特定基准时禁用矢量化吗?如果可以,怎么做?
这是预期的行为,因为大部分计算发生在已经构建的 BLAS 或 BSNL 中。