OpenMathLib / OpenBLAS

OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
http://www.openblas.net
BSD 3-Clause "New" or "Revised" License
6.37k stars 1.5k forks source link

install failed for OpenBLAS #842

Closed GitHubDuc closed 7 years ago

GitHubDuc commented 8 years ago

I downed the xianyi-OpenBLAS-v0.2.18-0-g12ab180.zip unzip it and try to install it

I failed: make[1]: Entering directory `/home/chandu/learn_c/OpenBLAS/interface' gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=saxpy -DASMFNAME=saxpy -DNAME=saxpy_ -DCNAME=saxpy -DCHARNAME=\"saxpy\" -DCHAR_CNAME=\"saxpy\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c axpy.c -o saxpy.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=sswap -DASMFNAME=sswap -DNAME=sswap_ -DCNAME=sswap -DCHARNAME=\"sswap\" -DCHAR_CNAME=\"sswap\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c swap.c -o sswap.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=scopy -DASMFNAME=scopy -DNAME=scopy_ -DCNAME=scopy -DCHARNAME=\"scopy\" -DCHAR_CNAME=\"scopy\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c copy.c -o scopy.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=sscal -DASMFNAME=sscal -DNAME=sscal_ -DCNAME=sscal -DCHARNAME=\"sscal\" -DCHAR_CNAME=\"sscal\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c scal.c -o sscal.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=sdot -DASMFNAME=sdot -DNAME=sdot_ -DCNAME=sdot -DCHARNAME=\"sdot\" -DCHAR_CNAME=\"sdot\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c dot.c -o sdot.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=sdsdot -DASMFNAME=sdsdot -DNAME=sdsdot_ -DCNAME=sdsdot -DCHARNAME=\"sdsdot\" -DCHAR_CNAME=\"sdsdot\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c sdsdot.c -o sdsdot.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=dsdot -DASMFNAME=dsdot -DNAME=dsdot_ -DCNAME=dsdot -DCHARNAME=\"dsdot\" -DCHAR_CNAME=\"dsdot\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c dsdot.c -o dsdot.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=sasum -DASMFNAME=sasum -DNAME=sasum_ -DCNAME=sasum -DCHARNAME=\"sasum\" -DCHAR_CNAME=\"sasum\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c asum.c -o sasum.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=snrm2 -DASMFNAME=snrm2 -DNAME=snrm2_ -DCNAME=snrm2 -DCHARNAME=\"snrm2\" -DCHAR_CNAME=\"snrm2\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c nrm2.c -o snrm2.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=smax -DASMFNAME=smax -DNAME=smax_ -DCNAME=smax -DCHARNAME=\"smax\" -DCHAR_CNAME=\"smax\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c -UUSE_ABS -UUSE_MIN max.c -o smax.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=samax -DASMFNAME=samax -DNAME=samax_ -DCNAME=samax -DCHARNAME=\"samax\" -DCHAR_CNAME=\"samax\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c -DUSE_ABS -UUSE_MIN max.c -o samax.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=ismax -DASMFNAME=ismax -DNAME=ismax_ -DCNAME=ismax -DCHARNAME=\"ismax\" -DCHAR_CNAME=\"ismax\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c -UUSE_ABS -UUSE_MIN imax.c -o ismax.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=isamax -DASMFNAME=isamax -DNAME=isamax_ -DCNAME=isamax -DCHARNAME=\"isamax\" -DCHAR_CNAME=\"isamax\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c -DUSE_ABS -UUSE_MIN imax.c -o isamax.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=smin -DASMFNAME=smin -DNAME=smin_ -DCNAME=smin -DCHARNAME=\"smin\" -DCHAR_CNAME=\"smin\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c -UUSE_ABS -DUSE_MIN max.c -o smin.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=samin -DASMFNAME=samin -DNAME=samin_ -DCNAME=samin -DCHARNAME=\"samin\" -DCHAR_CNAME=\"samin\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c -DUSE_ABS -DUSE_MIN max.c -o samin.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=ismin -DASMFNAME=ismin -DNAME=ismin_ -DCNAME=ismin -DCHARNAME=\"ismin\" -DCHAR_CNAME=\"ismin\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c -UUSE_ABS -DUSE_MIN imax.c -o ismin.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=isamin -DASMFNAME=isamin -DNAME=isamin_ -DCNAME=isamin -DCHARNAME=\"isamin\" -DCHAR_CNAME=\"isamin\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c -DUSE_ABS -DUSE_MIN imax.c -o isamin.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=srot -DASMFNAME=srot -DNAME=srot_ -DCNAME=srot -DCHARNAME=\"srot\" -DCHAR_CNAME=\"srot\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c rot.c -o srot.o gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=srotg -DASMFNAME=srotg -DNAME=srotg_ -DCNAME=srotg -DCHARNAME=\"srotg\" -DCHAR_CNAME=\"srotg\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX rotg.c -o srotg.o gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=srotm -DASMFNAME=srotm -DNAME=srotm_ -DCNAME=srotm -DCHARNAME=\"srotm\" -DCHAR_CNAME=\"srotm\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX rotm.c -o srotm.o gcc -c -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=srotmg -DASMFNAME=srotmg -DNAME=srotmg_ -DCNAME=srotmg -DCHARNAME=\"srotmg\" -DCHAR_CNAME=\"srotmg\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX rotmg.c -o srotmg.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME=saxpby -DASMFNAME=saxpby -DNAME=saxpby_ -DCNAME=saxpby -DCHARNAME=\"saxpby\" -DCHAR_CNAME=\"saxpby\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -c axpby.c -o saxpby.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_isamax -DASMFNAME=cblasisamax -DNAME=cblasisamax -DCNAME=cblas_isamax -DCHAR_NAME=\"cblasisamax\" -DCHAR_CNAME=\"cblas_isamax\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c -DUSE_ABS -UUSE_MIN imax.c -o cblas_isamax.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_sasum -DASMFNAME=cblassasum -DNAME=cblassasum -DCNAME=cblas_sasum -DCHAR_NAME=\"cblassasum\" -DCHAR_CNAME=\"cblas_sasum\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c asum.c -o cblas_sasum.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_saxpy -DASMFNAME=cblassaxpy -DNAME=cblassaxpy -DCNAME=cblas_saxpy -DCHAR_NAME=\"cblassaxpy\" -DCHAR_CNAME=\"cblas_saxpy\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c axpy.c -o cblas_saxpy.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_scopy -DASMFNAME=cblasscopy -DNAME=cblasscopy -DCNAME=cblas_scopy -DCHAR_NAME=\"cblasscopy\" -DCHAR_CNAME=\"cblas_scopy\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c copy.c -o cblas_scopy.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_sdot -DASMFNAME=cblassdot -DNAME=cblassdot -DCNAME=cblas_sdot -DCHAR_NAME=\"cblassdot\" -DCHAR_CNAME=\"cblas_sdot\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c dot.c -o cblas_sdot.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_sdsdot -DASMFNAME=cblassdsdot -DNAME=cblassdsdot -DCNAME=cblas_sdsdot -DCHAR_NAME=\"cblassdsdot\" -DCHAR_CNAME=\"cblas_sdsdot\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c sdsdot.c -o cblas_sdsdot.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_dsdot -DASMFNAME=cblasdsdot -DNAME=cblasdsdot -DCNAME=cblas_dsdot -DCHAR_NAME=\"cblasdsdot\" -DCHAR_CNAME=\"cblas_dsdot\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c dsdot.c -o cblas_dsdot.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_srot -DASMFNAME=cblassrot -DNAME=cblassrot -DCNAME=cblas_srot -DCHAR_NAME=\"cblassrot\" -DCHAR_CNAME=\"cblas_srot\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c rot.c -o cblas_srot.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_srotg -DASMFNAME=cblassrotg -DNAME=cblassrotg -DCNAME=cblas_srotg -DCHAR_NAME=\"cblassrotg\" -DCHAR_CNAME=\"cblas_srotg\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c rotg.c -o cblas_srotg.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_srotm -DASMFNAME=cblassrotm -DNAME=cblassrotm -DCNAME=cblas_srotm -DCHAR_NAME=\"cblassrotm\" -DCHAR_CNAME=\"cblas_srotm\" -DNO_AFFINITY -I.. -I. -UDOUBLE -UCOMPLEX -DCBLAS -c rotm.c -o cblas_srotm.o gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=cblas_srotmg -DASMFNAME=cblassrotmg -DNAME=cblassrotmg -DCNAME=cblas_srotmg -DCHAR_NAME=\"cblassrotmg\" -DCHA:

Does anyone have some suggestions?

Thanks so much!

Eric

GitHubDuc commented 8 years ago

The OS system I used is: bash-4.1$ cat /etc/*-release CentOS release 6.7 (Final) LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch CentOS release 6.7 (Final) CentOS release 6.7 (Final)

GitHubDuc commented 8 years ago

the Kernel version I used Linux 2.6.32-573.12.1.el6.x86_64 #1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

martin-frbg commented 8 years ago

I do not see anything failing in the section of the compile log that you posted, perhaps you could upload the full log somewhere (or better yet, isolate the part where it actually has "error" or "failed" and add it here). One possibility is that it fails to compile the LAPACK component, which unlike the rest requires a fortran compiler (gfortran). (Generally for OpenBLAS bug reports it helps to report the processor type as well)

brada4 commented 8 years ago

You can get perfectly working copy of openblas from Fedora EPEL repositories. /usr/bin/gcc on EL6 does not support AVX2, you need either (EPEL) clang or SCL GCC 4.9/5.2 to compile most modern kernels, or disable AVX2 in makefile.rule

GitHubDuc commented 8 years ago

Thanks all! Here is the log file contains the errors: ../kernel/x86_64/dsymv_U.c: In function ‘dsymv_U’: ../kernel/x86_64/dsymv_U.c:167: warning: unused variable ‘at3’ ../kernel/x86_64/dsymv_U.c:167: warning: unused variable ‘at2’ ../kernel/x86_64/dsymv_U.c:167: warning: unused variable ‘at1’ ../kernel/x86_64/dsymv_U.c:167: warning: unused variable ‘at0’ gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DASMNAME=dgemm_itcopy -DASMFNAME=dgemmitcopy -DNAME=dgemmitcopy -DCNAME=dgemm_itcopy -DCHAR_NAME=\"dgemmitcopy\" -DCHA R_CNAME=\"dgemm_itcopy\" -DNO_AFFINITY -I.. -DDOUBLE -UCOMPLEX -c -DDOUBLE -UCOMPLEX ../kernel/x86_64/../generic/gemm_tcopy_4.c -o dgemm_itcopy.o ../kernel/x86_64/dgemm_kernel_4x8_haswell.S: Assembler messages: ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1759: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1759: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1759: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1760: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1760: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1760: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1761: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1761: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1761: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1762: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1762: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1762: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1764: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1764: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1764: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1765: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1765: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1765: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1766: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1766: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1766: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1767: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1767: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1767: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1775: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1775: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1775: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1776: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1776: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1776: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1777: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1777: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1777: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1778: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1778: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1778: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1780: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1780: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:1780: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ... ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2596: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2597: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2597: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2597: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2598: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2598: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2598: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2599: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2599: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2599: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2601: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2601: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2601: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2602: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2602: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2602: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2603: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2603: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2603: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2604: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2604: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2604: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2614: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2614: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2614: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2615: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2615: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2615: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2616: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2616: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2616: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2617: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2617: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2617: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2619: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2619: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2619: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2620: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2620: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2620: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2621: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2621: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2621: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2622: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2622: Error: no such instruction:vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2622: Error: no such instruction: vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2642: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2642: Error: no such instruction: vpermpd $ 0x1b,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2642: Error: no such instruction:vpermpd $ 0xb1,%ymm0,%ymm0' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2651: Error: no such instruction: vpermpd $ 0xb1,%ymm5,%ymm5' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2651: Error: no such instruction:vpermpd $ 0xb1,%ymm7,%ymm7' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2651: Error: no such instruction: vpermpd $ 0x1b,%ymm2,%ymm2' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2651: Error: no such instruction:vpermpd $ 0x1b,%ymm3,%ymm3' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2651: Error: no such instruction: vpermpd $ 0xb1,%ymm2,%ymm2' ../kernel/x86_64/dgemm_kernel_4x8_haswell.S:2651: Error: no such instruction:vpermpd $ 0xb1,%ymm3,%ymm3' make[1]: * [dgemm_kernel.o] Error 1 make[1]: * Waiting for unfinished jobs.... make[1]: Leaving directory `/home/chandu/learn_c/OpenBLAS/kernel' make: *\ [libs] Error 1

Thanks so much!

brada4 commented 8 years ago

Just read my previous post and get prepackaged version if you cannot figure out how edit 1 line in 1 file. Please use gist for 1km long copy and paste. My scrolling finger grows tired looking at it.

xianyi commented 8 years ago

I think you need to upgrade the binutils and gcc to recognize avx2 instructions.

brada4 commented 8 years ago

scl binutils (softwarecollections.org) has them.

GitHubDuc commented 8 years ago

Thanks so much, All! I will try to update binutils and gcc first and see what will happen!

brada4 commented 8 years ago

You need to configure sclo repository, then install devtoolset-3-binutils Then then prepens your make command with

scl enable devtoolset-3 --
GitHubDuc commented 8 years ago

after update gcc and binutils, make clean make I got the following:

END OF TESTS STOP make[1]: Leaving directory /home/chandu/learn_c/OpenBLAS/ctest' make[1]: Entering directory/home/chandu/learn_c/OpenBLAS/exports' perl ./gensymbol linktest x8664 0 0 0 0 0 0 "" "" 1 > linktest.c gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME= -DASMFNAME= -DNAME=_ -DCNAME= -DCHARNAME=\"\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I.. -shared -o ../libopenblas_haswellp-r0.2.18.so \ -Wl,--whole-archive ../libopenblas_haswellp-r0.2.18.a -Wl,--no-whole-archive \ -Wl,-soname,libopenblas.so.0 -lm -lpthread -lgfortran -lm -lpthread -lgfortran gcc -O2 -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPUNUMBER=8 -DASMNAME= -DASMFNAME= -DNAME=_ -DCNAME= -DCHARNAME=\"\" -DCHAR_CNAME=\"\" -DNO_AFFINITY -I.. -w -o linktest linktest.c ../libopenblas_haswellp-r0.2.18.so -L/usr/lib64/../lib64 -L/usr/lib64/../lib64 -L/opt/centos/devtoolset-1.1/root/usr/lib/gcc/x86_64-redhat-linux/4.7.2 -L/opt/centos/devtoolset-1.1/root/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64 -L/nfs/cyto/usr/changbin/LIB_C/gsl/lib -L/usr/lib64 -L/nfs/cyto/usr/changbin/LIB_C/gsl/lib -L. -L/opt/centos/devtoolset-1.1/root/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../.. -lgfortran -lm -lquadmath -lm -lc && echo OK. OK. rm -f linktest make[1]: Leaving directory `/home/chandu/learn_c/OpenBLAS/exports'

\ OpenBLAS build complete**. (BLAS CBLAS LAPACK LAPACKE)

OS ... Linux
Architecture ... x86_64
BINARY ... 64bit
C compiler ... GCC (command line : gcc) Fortran compiler ... GFORTRAN (command line : gfortran) Library Name ... libopenblas_haswellp-r0.2.18.a (Multi threaded; Max num-threads is 8)

To install the library, you can run "make PREFIX=/path/to/your/installation install".

make: warning: Clock skew detected. Your build may be incomplete.

Is this correct?

brada4 commented 8 years ago

It is your infrastructure problem. Your /usr/bin/make detected that your system clock is wrong. Nothing to do at all with OpenBLAS build that completed with great success 2 lines before that,

@xianyi : can somebody update EL6 binutils related FAQ in line with reality of today?

xianyi commented 8 years ago

@brada4 ,I think anybody can edit OpenBLAS wiki. https://github.com/xianyi/OpenBLAS/wiki/Faq

brada4 commented 8 years ago

Today I learned something new @GitHubDuc : can you check if it looks acceptable if somebody gets same error as you: https://github.com/xianyi/OpenBLAS/wiki/Faq#binutils

martin-frbg commented 7 years ago

That FAQ addition looks good to me, closing as the original reporter has not responded for eight months.