Cascadlake vs skylake error installing openblas enroute to install fenicsx-env

I’m installing dolfinx using spack and I am running into errors compiling openblas. I’m unclear how the skylake option gets inserted. The following is the part of the error message.

==> No binary for openblas-0.3.19-rdwlta3ahtrlz4r52eqs6ukx7zog46eh found: installing from source
==> Using cached archive: /storage/coda1/p-tf74/0/emolel3/spack/var/spack/cache/_source-cache/archive/94/947f51bfe50c2a0749304fbe373e00e7637600b0a47b78a51382aeb30ca08562.tar.gz
==> No patches needed for openblas
==> openblas: Executing phase: 'edit'
==> openblas: Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
    'make' '-j16' 'CC=/storage/coda1/p-tf74/0/emolel3/spack/lib/spack/env/intel/icc' 'FC=/storage/coda1/p-tf74/0/emolel3/spack/lib/spack/env/intel/ifort' 'MAKE_NB_JOBS=0' 'ARCH=x86_64' 'TARGET=SKYLAKEX' 'USE_LOCKING=1' 'USE_OPENMP=0' 'USE_THREAD=0' 'RANLIB=ranlib' 'libs' 'netlib' 'shared'

5 errors found in build log:
     2878    /storage/coda1/p-tf74/0/emolel3/spack/lib/spack/env/intel/icc -c -O2 -DSMALL_MATRIX_OPT -DMAX_STACK_ALLOC=2048 -DUSE_LOCKING -wd981 -DF_INTERFACE_INTEL -fPIC -DNO_WARMUP -DMAX_CPU_NUMBER=24
              -DMAX_PARALLEL_NUMBER=1 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.19\" -msse3 -mssse3 -msse4.1 -mavx -mavx2 -march=skylake-avx512 -UASMNAME -U
             ASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=csrot_k -DASMFNAME=csrot_k_ -DNAME=csrot_k_ -DCNAME=csrot_k -DCHAR_NAME=\"csrot_k_\" -DCHAR_CNAME=\"csrot_k\" -DNO_AFFINITY -I.. -
             UDOUBLE  -DCOMPLEX -DCOMPLEX -DCOMPLEX -UDOUBLE  ../kernel/x86_64/zrot_sse.S -o csrot_k.o
     2879    icc: command line warning #10121: overriding '-march=cascadelake' with '-march=skylake-avx512'
     2880    /storage/coda1/p-tf74/0/emolel3/spack/lib/spack/env/intel/icc -c -O2 -DSMALL_MATRIX_OPT -DMAX_STACK_ALLOC=2048 -DUSE_LOCKING -wd981 -DF_INTERFACE_INTEL -fPIC -DNO_WARMUP -DMAX_CPU_NUMBER=24
              -DMAX_PARALLEL_NUMBER=1 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.19\" -msse3 -mssse3 -msse4.1 -mavx -mavx2 -march=skylake-avx512 -UASMNAME -U
             ASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=cscal_k -DASMFNAME=cscal_k_ -DNAME=cscal_k_ -DCNAME=cscal_k -DCHAR_NAME=\"cscal_k_\" -DCHAR_CNAME=\"cscal_k\" -DNO_AFFINITY -I.. -
             UDOUBLE  -DCOMPLEX -DCOMPLEX -UDOUBLE ../kernel/x86_64/../arm/zscal.c -o cscal_k.o
     2881    icc: command line warning #10121: overriding '-march=cascadelake' with '-march=skylake-avx512'
     2882    icc: command line warning #10121: overriding '-march=cascadelake' with '-march=skylake-avx512'
     2883    icc: command line warning #10121: overriding '-march=cascadelake' with '-march=skylake-avx512

This is a Spack error when building OpenBLAS rather than a FEniCSx/DOLFINx build error. I suggest asking for support on a Spack forum.

Note that we don’t support the Intel legacy compilers icc and icpc due to bugs in the compilers and because they have been declared legacy. Our past tests have not shown any performance benefits with the legacy Intel compilers over recent gcc/clang/icx with the -Ofast flag,

2 Likes

Thank you, let me do that.

You shouldn’t manipulate LD_LIBRARY_PATH with Spack. Spack should manage all paths.

Could you try installing fenics-dolfinx@main or fenics-dolfinx@main?

Garth