编译openblas报错:no such instruction: vpermpd

在centos6.5下编译OpenBLAS时报了好多类似下面的错误:

../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1759: Error: no such instruction: `vpermpd $ 0xb1,%ymm0,%ymm0‘

在网上找到了解决办法[《centos6.7安装openblas错误》] (http://www.bubuko.com/infodetail-1994834.html),经验证确实有效。
但是这个办法要修改源码,显然有点不太可取,仔细查看了Makefile和Makefile.system两个文件,在Makefile.system中找到如下代码,一下就明白了。

ifeq ($(NO_AVX2), 1)
CCOMMON_OPT += -DNO_AVX2
endif

解决办法:
如下在执行make时加NO_AVX2=1参数,就避免修改源码:

make NO_LAPACKE=1 NO_SHARED=1 NO_AVX2=1

你可能感兴趣的:(开发工具)