我尝试编译netlib hpl linpack基准,但是我想禁用向量化。
我删除了制作文件中的所有优化标志,仅设置了标志-qno-openmp-simd -no-vec -no-simd
。
但是,当我执行二进制文件xhpl
时,walltime和FLOP与设置所有优化标志并将代码矢量化的时间相同。此外,likwid的向量化率约为98%。
我读到这些标志不会阻止像MKL这样的库被矢量化。 netlib HPL使用MKLROOT的线性代数库(BLAS或VSIPL)。
我可以在编译此特定基准时强制编译器禁用向量化吗?如果是,如何?
这是预期的行为,因为大部分计算是通过已构建的BLAS或BSIPL进行的。