编译OpenBLAS


1、OpenBLAS介绍
OpenBLAS是一个基于GotoBLAS2 1.13 BSD版本的优化BLAS(基本线性代数子程序)库。由于GotoBLAS维护者Mr. Kazushige离开TACC,GotoBLAS不再维护,因此,张先轶博士创建了OpenBLAS项目。OpenBLAS和MKL性能不相上下,支持X86/X86_64(Intel/AMD)、VIA、Power、MIPS、MIPS64、IA64、SPARC、ARM、System Z、RISC-V 64、LOONGARCH64、Elbrus E2000等处理器。


2、安装GNU编译器

# dnf install -y gcc gcc-c++ gcc-gfortran


3、正常编译OpenBLAS

# git clone https://github.com/xianyi/OpenBLAS.git
# cd OpenBLAS
# make USE_OPENMP=1
# make PREFIX=/usr/local/openblas install
# export LD_LIBRARY_PATH=/usr/local/openblas/lib:$LD_LIBRARY_PATH

4、测试调用CBLAS接口

# wget https://gist.githubusercontent.com/xianyi/6930656/raw/1b5868547a5277729d33dac62678a66ff65256f3/test_cblas_dgemm.c
# gcc -o test_cblas_dgemm test_cblas_dgemm.c /usr/local/openblas/lib64/libopenblas.so
# ./test_cblas_dgemm

显示

11.000000 -9.000000 5.000000 -9.000000 21.000000 -1.000000 5.000000 -1.000000 3.000000

 MKL和openblas矩阵测试

hpc