Merge pull request #745 from jakirkham/minor_fix_scipy_prof
BENCH: Minor fixes in SciPy benchmarks
This commit is contained in:
commit
fa3018c30e
|
@ -1,58 +1,58 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
import numpy
|
import numpy
|
||||||
|
from numpy import zeros
|
||||||
from numpy.random import randn
|
from numpy.random import randn
|
||||||
from scipy.linalg import blas
|
from scipy.linalg import blas
|
||||||
|
|
||||||
def run_dsyrk(N,l):
|
|
||||||
|
|
||||||
A = randn(N,N).astype('float64')
|
def run_dsyrk(N, l):
|
||||||
C = randn(N,N).astype('float64')
|
|
||||||
|
|
||||||
|
A = randn(N, N).astype('float64', order='F')
|
||||||
|
C = zeros((N, N), dtype='float64', order='F')
|
||||||
|
|
||||||
start = time.time();
|
start = time.time()
|
||||||
for i in range(0,l):
|
for i in range(0, l):
|
||||||
C = blas.dsyrk(1.0,A)
|
blas.dsyrk(1.0, A, c=C, overwrite_c=True)
|
||||||
end = time.time()
|
end = time.time()
|
||||||
|
|
||||||
timediff = (end -start)
|
|
||||||
mflops = ( N*N*N) *l / timediff
|
|
||||||
mflops *= 1e-6
|
|
||||||
|
|
||||||
size = "%dx%d" % (N,N)
|
timediff = (end - start)
|
||||||
print("%14s :\t%20f MFlops\t%20f sec" % (size,mflops,timediff))
|
mflops = (N * N * N) * l / timediff
|
||||||
|
mflops *= 1e-6
|
||||||
|
|
||||||
|
size = "%dx%d" % (N, N)
|
||||||
|
print("%14s :\t%20f MFlops\t%20f sec" % (size, mflops, timediff))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
N=128
|
N = 128
|
||||||
NMAX=2048
|
NMAX = 2048
|
||||||
NINC=128
|
NINC = 128
|
||||||
LOOPS=1
|
LOOPS = 1
|
||||||
|
|
||||||
z=0
|
z = 0
|
||||||
for arg in sys.argv:
|
for arg in sys.argv:
|
||||||
if z == 1:
|
if z == 1:
|
||||||
N = int(arg)
|
N = int(arg)
|
||||||
elif z == 2:
|
elif z == 2:
|
||||||
NMAX = int(arg)
|
NMAX = int(arg)
|
||||||
elif z == 3:
|
elif z == 3:
|
||||||
NINC = int(arg)
|
NINC = int(arg)
|
||||||
elif z == 4:
|
elif z == 4:
|
||||||
LOOPS = int(arg)
|
LOOPS = int(arg)
|
||||||
|
|
||||||
z = z + 1
|
z = z + 1
|
||||||
|
|
||||||
if 'OPENBLAS_LOOPS' in os.environ:
|
if 'OPENBLAS_LOOPS' in os.environ:
|
||||||
p = os.environ['OPENBLAS_LOOPS']
|
p = os.environ['OPENBLAS_LOOPS']
|
||||||
if p:
|
if p:
|
||||||
LOOPS = int(p);
|
LOOPS = int(p)
|
||||||
|
|
||||||
print("From: %d To: %d Step=%d Loops=%d" % (N, NMAX, NINC, LOOPS))
|
print("From: %d To: %d Step=%d Loops=%d" % (N, NMAX, NINC, LOOPS))
|
||||||
print("\tSIZE\t\t\tFlops\t\t\t\t\tTime")
|
print("\tSIZE\t\t\tFlops\t\t\t\t\tTime")
|
||||||
|
|
||||||
for i in range (N,NMAX+NINC,NINC):
|
|
||||||
run_dsyrk(i,LOOPS)
|
|
||||||
|
|
||||||
|
for i in range(N, NMAX + NINC, NINC):
|
||||||
|
run_dsyrk(i, LOOPS)
|
||||||
|
|
|
@ -1,58 +1,58 @@
|
||||||
#!/usr/bin/python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
import numpy
|
import numpy
|
||||||
|
from numpy import zeros
|
||||||
from numpy.random import randn
|
from numpy.random import randn
|
||||||
from scipy.linalg import blas
|
from scipy.linalg import blas
|
||||||
|
|
||||||
def run_ssyrk(N,l):
|
|
||||||
|
|
||||||
A = randn(N,N).astype('float32')
|
def run_ssyrk(N, l):
|
||||||
C = randn(N,N).astype('float32')
|
|
||||||
|
|
||||||
|
A = randn(N, N).astype('float32', order='F')
|
||||||
|
C = zeros((N, N), dtype='float32', order='F')
|
||||||
|
|
||||||
start = time.time();
|
start = time.time()
|
||||||
for i in range(0,l):
|
for i in range(0, l):
|
||||||
C = blas.ssyrk(1.0,A)
|
blas.ssyrk(1.0, A, c=C, overwrite_c=True)
|
||||||
end = time.time()
|
end = time.time()
|
||||||
|
|
||||||
timediff = (end -start)
|
|
||||||
mflops = ( N*N*N) *l / timediff
|
|
||||||
mflops *= 1e-6
|
|
||||||
|
|
||||||
size = "%dx%d" % (N,N)
|
timediff = (end - start)
|
||||||
print("%14s :\t%20f MFlops\t%20f sec" % (size,mflops,timediff))
|
mflops = (N * N * N) * l / timediff
|
||||||
|
mflops *= 1e-6
|
||||||
|
|
||||||
|
size = "%dx%d" % (N, N)
|
||||||
|
print("%14s :\t%20f MFlops\t%20f sec" % (size, mflops, timediff))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
N=128
|
N = 128
|
||||||
NMAX=2048
|
NMAX = 2048
|
||||||
NINC=128
|
NINC = 128
|
||||||
LOOPS=1
|
LOOPS = 1
|
||||||
|
|
||||||
z=0
|
z = 0
|
||||||
for arg in sys.argv:
|
for arg in sys.argv:
|
||||||
if z == 1:
|
if z == 1:
|
||||||
N = int(arg)
|
N = int(arg)
|
||||||
elif z == 2:
|
elif z == 2:
|
||||||
NMAX = int(arg)
|
NMAX = int(arg)
|
||||||
elif z == 3:
|
elif z == 3:
|
||||||
NINC = int(arg)
|
NINC = int(arg)
|
||||||
elif z == 4:
|
elif z == 4:
|
||||||
LOOPS = int(arg)
|
LOOPS = int(arg)
|
||||||
|
|
||||||
z = z + 1
|
z = z + 1
|
||||||
|
|
||||||
if 'OPENBLAS_LOOPS' in os.environ:
|
if 'OPENBLAS_LOOPS' in os.environ:
|
||||||
p = os.environ['OPENBLAS_LOOPS']
|
p = os.environ['OPENBLAS_LOOPS']
|
||||||
if p:
|
if p:
|
||||||
LOOPS = int(p);
|
LOOPS = int(p)
|
||||||
|
|
||||||
print("From: %d To: %d Step=%d Loops=%d" % (N, NMAX, NINC, LOOPS))
|
print("From: %d To: %d Step=%d Loops=%d" % (N, NMAX, NINC, LOOPS))
|
||||||
print("\tSIZE\t\t\tFlops\t\t\t\t\tTime")
|
print("\tSIZE\t\t\tFlops\t\t\t\t\tTime")
|
||||||
|
|
||||||
for i in range (N,NMAX+NINC,NINC):
|
|
||||||
run_ssyrk(i,LOOPS)
|
|
||||||
|
|
||||||
|
for i in range(N, NMAX + NINC, NINC):
|
||||||
|
run_ssyrk(i, LOOPS)
|
||||||
|
|
Loading…
Reference in New Issue