先前的0.3.26和0.3.27版本在龙架构上都有些编译和运行问题。前一阵子帮OpenBLAS官方抓了些bug,现在的develop版本编译和运行都没问题了。急需用这个软件的同学现在就可以用git clone下载编译使用,不急的就等下个release版本0.3.28吧。
我用一个小python文件test_openblas.py测试了用 OpenBLAS 进行矩阵特征分解的速度,新版本速度提升很大。测试文件内容如下:
#!/usr/bin/env python
import numpy
import sys
from time import time
print("Python version: %s\n" % sys.version)
print("maxint: %i\n" % sys.maxsize)
# Let's take the randomness out of random numbers (for reproducibility)
numpy.random.seed(0)
size = 4096
G = numpy.random.random((int(size / 2), int(size / 2)))
N = 3
# Eigendecomposition
t = time()
for i in range(N):
numpy.linalg.eig(G)
delta = time() - t
print("Eigendecomposition of a %dx%d matrix in %0.2f s." % (size / 2, size / 2, delta / N))
%%%%%%%%%%%%%%%%%%%%%%%%%
运行命令:OMP_NUM_THREADS=8 python3 test_openblas.py
%%%%%%%%%%%%%%%%%%%%%%%%%
矩阵特征分解运行时间对比:
blas/lapack: 约55秒
openblas on AOSC当前版本:约11-12秒
openblas on loongnix当前版本:约6.6秒
openblas on Loong Arch Linux当前版本: 段错误(核心已转储)
openblas当前develop版本:约3.9秒