install lapack and blas
cur -o blas.tgz http://www.netlib.org/blas/blas.tgz
tar -xvf blas.tgz
cd BLAS
modify make.inc
OPTS = -O3 -m64 -fno-second-underscore -fPIC
BLASLIB = librefblas.a
end make.inc
make
mkdir ../lib.gnu && cp librefblas.a ../lib.gnu/
download latest lapack from http://www.netlib.org/lapack/
tar -xvf lapack-3.6.1.tgz
cd lapack-3.6.1
cp INSTALL/make.inc.gfortran make.inc
modify make.inc for lapack
OPTS = -O2 -frecursive -m64 -fPIC
NOOPT = -O0 -frecursive -m64 -fPIC
CFLAGS = -O3 -fPIC
BLASLIB = /home/ywmu/backup/.soft/lapack/lib.gnu/librefblas.a
end for make.inc
make
make lapackelib
mv lib*.a ../lib.gnu
instal ATLAS
download ATLAS from https://sourceforge.net/projects/math-atlas/files/
sudo mkdir /opt/Atlas
sudo chown -R ywmu:ywmu /opt/Atlas/
tar -xvf atlas3.10.3.tar.bz2
../configure -b 32 -Fa alg -fPIC -shared -prefix=/opt/Atlas/ --with-netlib-lapack-tarfile=/home/ywmu/backup/.soft/lapack/lapack-3.6.1.tgz
make && make install
Or install 3.0.18
Intel version
- maybe modification
-mavx2
to -march=core-avx2
mkdir OpenBlas
git clone https://github.com/xianyi/OpenBLAS.git
make FC=ifort CC=icc CXX=icpc
mv libopenblas_zenp-r0.3.18.a libopenblas_omp.a
mv libopenblas_zenp-r0.3.18.so libopenblas_omp.so
make clean
make USE_OPENMP=1 FC=ifort CC=icc CXX=icpc
mv libopenblas_zenp-r0.3.18.a libopenblas.a
mv libopenblas_zenp-r0.3.18.so libopenblas.so
Gnu version
mkdir OpenBlas.gnu
git clone https://github.com/xianyi/OpenBLAS.git
make FC=gfortran CC=gcc CXX=g++
mv libopenblas_zenp-r0.3.18.a libopenblas_omp.a
mv libopenblas_zenp-r0.3.18.so libopenblas_omp.so
make clean
make USE_OPENMP=1 FC=gfortran CC=gcc CXX=g++
mv libopenblas_zenp-r0.3.18.a libopenblas.a
mv libopenblas_zenp-r0.3.18.so libopenblas.so
ScaLapack
ScaLapack based on openblas
### vi SLmake.inc
BLASLIB =/home/ywmu/backup/Src/comlib/gcc7/libopenblas_omp.a
# Or for intel: BLASLIB =/home/ywmu/backup/Src/comlib/oneapi/libopenblas_omp.a
LAPACKLIB =
#----------------
make clean
make FC=gfortran CC=gcc CXX=g++
Or make FC=ifort CC=icc CXX=icpc
ScaLapack based on AOML
### vi SLmake.inc
BLASLIB =/opt/local/amd/2.2/amd-blis/lib/libblis.a
LAPACKLIB = /opt/local/amd/2.2/amd-libflame/lib/libflame.a
make clean
make lib