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、OpenBLAS交叉編譯
ARM架構: v8.2
# make TARGET=ARMV8 BINARY=64 HOSTCC=gcc CC=aarch64-linux-gnu-gcc FC=aarch64-linux-gnu-gfortran
5、測試調用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
6、MKL和openblas矩陣測試