In [2]:
import time
import scipy as sp
import scipy.linalg as la
import numpy as np

n=3000
A=sp.random.rand(n,n)
B=sp.random.rand(n,n)

t=time.time()
C=np.dot(A,B)
t=time.time()-t
f=2*n**3/t/1e9
print ("Numpy dot:   time = %.2f seconds; flop rate = %.2f Gflops/s"%(t,f))

t=time.time()
C=sp.dot(A,B)
t=time.time()-t
f=2*n**3/t/1e9
print ("Scipy dot:   time = %.2f seconds; flop rate = %.2f Gflops/s"%(t,f))

t=time.time()
C=la.blas.dgemm(1.0,A,B)
t=time.time()-t
f=2*n**3/t/1e9
print ("Scipy dgemm: time = %.2f seconds; flop rate = %.2f Gflops/s"%(t,f))
np.show_config()


Numpy dot:   time = 0.70 seconds; flop rate = 77.11 Gflops/s
Scipy dot:   time = 0.71 seconds; flop rate = 75.95 Gflops/s
Scipy dgemm: time = 26.90 seconds; flop rate = 2.01 Gflops/s
lapack_mkl_info:
  NOT AVAILABLE
lapack_opt_info:
    define_macros = [('NO_ATLAS_INFO', 1)]
    language = f77
    libraries = ['lapack', 'blas']
    library_dirs = ['/usr/lib']
atlas_info:
  NOT AVAILABLE
lapack_info:
    language = f77
    libraries = ['lapack']
    library_dirs = ['/usr/lib']
mkl_info:
  NOT AVAILABLE
atlas_3_10_threads_info:
  NOT AVAILABLE
openblas_lapack_info:
  NOT AVAILABLE
blas_mkl_info:
  NOT AVAILABLE
blas_info:
    language = f77
    libraries = ['blas']
    library_dirs = ['/usr/lib']
blas_opt_info:
    language = f77
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/lib']
atlas_threads_info:
  NOT AVAILABLE
openblas_info:
    language = f77
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/lib']
atlas_3_10_info:
  NOT AVAILABLE

In [ ]: