|
|
@@ -8,52 +8,51 @@ from numpy import zeros |
|
|
|
from numpy.random import randn |
|
|
|
from scipy.linalg import blas |
|
|
|
|
|
|
|
def run_dsyrk(N,l): |
|
|
|
|
|
|
|
A = randn(N,N).astype('float64') |
|
|
|
C = zeros((N,N), dtype='float64') |
|
|
|
def run_dsyrk(N, l): |
|
|
|
|
|
|
|
A = randn(N, N).astype('float64') |
|
|
|
C = zeros((N, N), dtype='float64') |
|
|
|
|
|
|
|
start = time.time() |
|
|
|
for i in range(0,l): |
|
|
|
C[...] = blas.dsyrk(1.0,A) |
|
|
|
end = time.time() |
|
|
|
|
|
|
|
timediff = (end -start) |
|
|
|
mflops = ( N*N*N) *l / timediff |
|
|
|
mflops *= 1e-6 |
|
|
|
start = time.time() |
|
|
|
for i in range(0, l): |
|
|
|
C[...] = blas.dsyrk(1.0, A) |
|
|
|
end = time.time() |
|
|
|
|
|
|
|
size = "%dx%d" % (N,N) |
|
|
|
print("%14s :\t%20f MFlops\t%20f sec" % (size,mflops,timediff)) |
|
|
|
timediff = (end - start) |
|
|
|
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__": |
|
|
|
N=128 |
|
|
|
NMAX=2048 |
|
|
|
NINC=128 |
|
|
|
LOOPS=1 |
|
|
|
|
|
|
|
z=0 |
|
|
|
for arg in sys.argv: |
|
|
|
if z == 1: |
|
|
|
N = int(arg) |
|
|
|
elif z == 2: |
|
|
|
NMAX = int(arg) |
|
|
|
elif z == 3: |
|
|
|
NINC = int(arg) |
|
|
|
elif z == 4: |
|
|
|
LOOPS = int(arg) |
|
|
|
|
|
|
|
z = z + 1 |
|
|
|
|
|
|
|
if 'OPENBLAS_LOOPS' in os.environ: |
|
|
|
p = os.environ['OPENBLAS_LOOPS'] |
|
|
|
if p: |
|
|
|
LOOPS = int(p) |
|
|
|
|
|
|
|
print("From: %d To: %d Step=%d Loops=%d" % (N, NMAX, NINC, LOOPS)) |
|
|
|
print("\tSIZE\t\t\tFlops\t\t\t\t\tTime") |
|
|
|
|
|
|
|
for i in range (N,NMAX+NINC,NINC): |
|
|
|
run_dsyrk(i,LOOPS) |
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
N = 128 |
|
|
|
NMAX = 2048 |
|
|
|
NINC = 128 |
|
|
|
LOOPS = 1 |
|
|
|
|
|
|
|
z = 0 |
|
|
|
for arg in sys.argv: |
|
|
|
if z == 1: |
|
|
|
N = int(arg) |
|
|
|
elif z == 2: |
|
|
|
NMAX = int(arg) |
|
|
|
elif z == 3: |
|
|
|
NINC = int(arg) |
|
|
|
elif z == 4: |
|
|
|
LOOPS = int(arg) |
|
|
|
|
|
|
|
z = z + 1 |
|
|
|
|
|
|
|
if 'OPENBLAS_LOOPS' in os.environ: |
|
|
|
p = os.environ['OPENBLAS_LOOPS'] |
|
|
|
if p: |
|
|
|
LOOPS = int(p) |
|
|
|
|
|
|
|
print("From: %d To: %d Step=%d Loops=%d" % (N, NMAX, NINC, LOOPS)) |
|
|
|
print("\tSIZE\t\t\tFlops\t\t\t\t\tTime") |
|
|
|
|
|
|
|
for i in range(N, NMAX + NINC, NINC): |
|
|
|
run_dsyrk(i, LOOPS) |