|
8 | 8 | from numpy.random import randn
|
9 | 9 | from scipy.linalg import blas
|
10 | 10 |
|
11 |
| -def run_ssyrk(N,l): |
12 | 11 |
|
13 |
| - A = randn(N,N).astype('float32') |
14 |
| - C = zeros((N,N), dtype='float32') |
| 12 | +def run_ssyrk(N, l): |
15 | 13 |
|
| 14 | + A = randn(N, N).astype('float32') |
| 15 | + C = zeros((N, N), dtype='float32') |
16 | 16 |
|
17 |
| - start = time.time() |
18 |
| - for i in range(0,l): |
19 |
| - C[...] = blas.ssyrk(1.0,A) |
20 |
| - end = time.time() |
21 |
| - |
22 |
| - timediff = (end -start) |
23 |
| - mflops = ( N*N*N) *l / timediff |
24 |
| - mflops *= 1e-6 |
| 17 | + start = time.time() |
| 18 | + for i in range(0, l): |
| 19 | + C[...] = blas.ssyrk(1.0, A) |
| 20 | + end = time.time() |
25 | 21 |
|
26 |
| - size = "%dx%d" % (N,N) |
27 |
| - print("%14s :\t%20f MFlops\t%20f sec" % (size,mflops,timediff)) |
| 22 | + timediff = (end - start) |
| 23 | + mflops = (N * N * N) * l / timediff |
| 24 | + mflops *= 1e-6 |
28 | 25 |
|
| 26 | + size = "%dx%d" % (N, N) |
| 27 | + print("%14s :\t%20f MFlops\t%20f sec" % (size, mflops, timediff)) |
29 | 28 |
|
30 |
| -if __name__ == "__main__": |
31 |
| - N=128 |
32 |
| - NMAX=2048 |
33 |
| - NINC=128 |
34 |
| - LOOPS=1 |
35 |
| - |
36 |
| - z=0 |
37 |
| - for arg in sys.argv: |
38 |
| - if z == 1: |
39 |
| - N = int(arg) |
40 |
| - elif z == 2: |
41 |
| - NMAX = int(arg) |
42 |
| - elif z == 3: |
43 |
| - NINC = int(arg) |
44 |
| - elif z == 4: |
45 |
| - LOOPS = int(arg) |
46 |
| - |
47 |
| - z = z + 1 |
48 |
| - |
49 |
| - if 'OPENBLAS_LOOPS' in os.environ: |
50 |
| - p = os.environ['OPENBLAS_LOOPS'] |
51 |
| - if p: |
52 |
| - LOOPS = int(p) |
53 |
| - |
54 |
| - print("From: %d To: %d Step=%d Loops=%d" % (N, NMAX, NINC, LOOPS)) |
55 |
| - print("\tSIZE\t\t\tFlops\t\t\t\t\tTime") |
56 |
| - |
57 |
| - for i in range (N,NMAX+NINC,NINC): |
58 |
| - run_ssyrk(i,LOOPS) |
59 | 29 |
|
| 30 | +if __name__ == "__main__": |
| 31 | + N = 128 |
| 32 | + NMAX = 2048 |
| 33 | + NINC = 128 |
| 34 | + LOOPS = 1 |
| 35 | + |
| 36 | + z = 0 |
| 37 | + for arg in sys.argv: |
| 38 | + if z == 1: |
| 39 | + N = int(arg) |
| 40 | + elif z == 2: |
| 41 | + NMAX = int(arg) |
| 42 | + elif z == 3: |
| 43 | + NINC = int(arg) |
| 44 | + elif z == 4: |
| 45 | + LOOPS = int(arg) |
| 46 | + |
| 47 | + z = z + 1 |
| 48 | + |
| 49 | + if 'OPENBLAS_LOOPS' in os.environ: |
| 50 | + p = os.environ['OPENBLAS_LOOPS'] |
| 51 | + if p: |
| 52 | + LOOPS = int(p) |
| 53 | + |
| 54 | + print("From: %d To: %d Step=%d Loops=%d" % (N, NMAX, NINC, LOOPS)) |
| 55 | + print("\tSIZE\t\t\tFlops\t\t\t\t\tTime") |
| 56 | + |
| 57 | + for i in range(N, NMAX + NINC, NINC): |
| 58 | + run_ssyrk(i, LOOPS) |
0 commit comments