@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_cgemm(N,l): | |||
A = randn(N,N).astype('float32') + randn(N,N).astype('float32') * 1j; | |||
B = randn(N,N).astype('float32') + randn(N,N).astype('float32') * 1j; | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 8*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_cgemm(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_cgemv(N,l): | |||
A = randn(N,N).astype('float32') + randn(N,N).astype('float32') * 1j; | |||
B = randn(N).astype('float32') + randn(N).astype('float32') * 1j; | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 8*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_cgemv(i,LOOPS) | |||
@@ -0,0 +1,58 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
from scipy.linalg.blas import daxpy | |||
def run_daxpy(N,l): | |||
x = randn(N).astype('float64') | |||
y = randn(N).astype('float64') | |||
start = time.time(); | |||
for i in range(0,l): | |||
y = daxpy(x,y, a=2.0 ) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 2*N ) *l / timediff | |||
mflops *= 1e-6 | |||
size = "%d" % (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_daxpy(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_ddot(N,l): | |||
A = randn(N).astype('float64') | |||
B = randn(N).astype('float64') | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 2*N ) *l / timediff | |||
mflops *= 1e-6 | |||
size = "%d" % (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_ddot(i,LOOPS) | |||
@@ -0,0 +1,55 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_deig(N,l): | |||
A = randn(N,N).astype('float64') | |||
start = time.time(); | |||
for i in range(0,l): | |||
la,v = numpy.linalg.eig(A) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 26.33 *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_deig(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_dgemm(N,l): | |||
A = randn(N,N).astype('float64') | |||
B = randn(N,N).astype('float64') | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 2*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_dgemm(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_dgemv(N,l): | |||
A = randn(N,N).astype('float64') | |||
B = randn(N).astype('float64') | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 2*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_dgemv(i,LOOPS) | |||
@@ -0,0 +1,58 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
from scipy.linalg.lapack import dgesv | |||
def run_dgesv(N,l): | |||
a = randn(N,N).astype('float64') | |||
b = randn(N,N).astype('float64') | |||
start = time.time(); | |||
for i in range(0,l): | |||
dgesv(a,b,1,1) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 2.0/3.0 *N*N*N + 2.0*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_dgesv(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_dsolve(N,l): | |||
A = randn(N,N).astype('float64') | |||
B = randn(N,N).astype('float64') | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.linalg.solve(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 2.0/3.0 *N*N*N + 2.0*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_dsolve(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_sdot(N,l): | |||
A = randn(N).astype('float32') | |||
B = randn(N).astype('float32') | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 2*N ) *l / timediff | |||
mflops *= 1e-6 | |||
size = "%d" % (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_sdot(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_sgemm(N,l): | |||
A = randn(N,N).astype('float32') | |||
B = randn(N,N).astype('float32') | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 2*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_sgemm(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_sgemv(N,l): | |||
A = randn(N,N).astype('float32') | |||
B = randn(N).astype('float32') | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 2*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_sgemv(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_zgemm(N,l): | |||
A = randn(N,N).astype('float64') + randn(N,N).astype('float64') * 1j; | |||
B = randn(N,N).astype('float64') + randn(N,N).astype('float64') * 1j; | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 8*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_zgemm(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/python | |||
import os | |||
import sys | |||
import time | |||
import numpy | |||
from numpy.random import randn | |||
def run_zgemv(N,l): | |||
A = randn(N,N).astype('float64') + randn(N,N).astype('float64') * 1j; | |||
B = randn(N).astype('float64') + randn(N).astype('float64') * 1j; | |||
start = time.time(); | |||
for i in range(0,l): | |||
ref = numpy.dot(A,B) | |||
end = time.time() | |||
timediff = (end -start) | |||
mflops = ( 8*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_zgemv(i,LOOPS) | |||
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = single(rand(n,n)) + single(rand(n,n)) * 1i; | |||
B = single(rand(n,n)) + single(rand(n,n)) * 1i; | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
C = A * B; | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
mflops = ( 4.0 * 2.0*n*n*n *loops ) / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = single(rand(n,n)) + single(rand(n,n)) * 1i; | |||
B = single(rand(n,1)) + single(rand(n,1)) * 1i; | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
C = A * B; | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
mflops = ( 4.0 * 2.0*n*n *loops ) / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = double(rand(n,n)); | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
[V,lambda] = eig(A); | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
mflops = ( 26.33 *n*n*n ) *loops / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg ); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = double(rand(n,n)); | |||
B = double(rand(n,n)); | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
C = A * B; | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
mflops = ( 2.0*n*n*n *loops ) / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = double(rand(n,n)); | |||
B = double(rand(n,1)); | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
C = A * B; | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
mflops = ( 2.0*n*n *loops ) / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,59 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = double(rand(n,n)); | |||
B = double(rand(n,n)); | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
x = linsolve(A,B); | |||
#x = A / B; | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
#r = norm(A*x - B)/norm(B) | |||
mflops = ( 2.0/3.0 *n*n*n + 2.0*n*n*n ) *loops / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg ); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = single(rand(n,n)); | |||
B = single(rand(n,n)); | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
C = A * B; | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
mflops = ( 2.0*n*n*n *loops ) / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = single(rand(n,n)); | |||
B = single(rand(n,1)); | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
C = A * B; | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
mflops = ( 2.0*n*n *loops ) / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = double(rand(n,n)) + double(rand(n,n)) * 1i; | |||
B = double(rand(n,n)) + double(rand(n,n)) * 1i; | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
C = A * B; | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
mflops = ( 4.0 * 2.0*n*n*n *loops ) / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,56 @@ | |||
#!/usr/bin/octave --silent | |||
nfrom = 128 ; | |||
nto = 2048; | |||
nstep = 128; | |||
loops = 1; | |||
arg_list = argv(); | |||
for i = 1:nargin | |||
switch(i) | |||
case 1 | |||
nfrom = str2num(arg_list{i}); | |||
case 2 | |||
nto = str2num(arg_list{i}); | |||
case 3 | |||
nstep = str2num(arg_list{i}); | |||
case 4 | |||
loops = str2num(arg_list{i}); | |||
endswitch | |||
endfor | |||
p = getenv("OPENBLAS_LOOPS"); | |||
if p | |||
loops = str2num(p); | |||
endif | |||
printf("From %d To %d Step=%d Loops=%d\n",nfrom, nto, nstep, loops); | |||
printf(" SIZE FLOPS TIME\n"); | |||
n = nfrom; | |||
while n <= nto | |||
A = double(rand(n,n)) + double(rand(n,n)) * 1i; | |||
B = double(rand(n,1)) + double(rand(n,1)) * 1i; | |||
start = clock(); | |||
l=0; | |||
while l < loops | |||
C = A * B; | |||
l = l + 1; | |||
endwhile | |||
timeg = etime(clock(), start); | |||
mflops = ( 4.0 * 2.0*n*n *loops ) / ( timeg * 1.0e6 ); | |||
st1 = sprintf("%dx%d : ", n,n); | |||
printf("%20s %10.2f MFlops %10.6f sec\n", st1, mflops, timeg); | |||
n = n + nstep; | |||
endwhile |
@@ -0,0 +1,62 @@ | |||
#!/usr/bin/Rscript | |||
argv <- commandArgs(trailingOnly = TRUE) | |||
nfrom = 128 | |||
nto = 2048 | |||
nstep = 128 | |||
loops = 1 | |||
if ( length(argv) > 0 ) { | |||
for ( z in 1:length(argv) ) { | |||
if ( z == 1 ) { | |||
nfrom <- as.numeric(argv[z]) | |||
} else if ( z==2 ) { | |||
nto <- as.numeric(argv[z]) | |||
} else if ( z==3 ) { | |||
nstep <- as.numeric(argv[z]) | |||
} else if ( z==4 ) { | |||
loops <- as.numeric(argv[z]) | |||
} | |||
} | |||
} | |||
p=Sys.getenv("OPENBLAS_LOOPS") | |||
if ( p != "" ) { | |||
loops <- as.numeric(p) | |||
} | |||
cat(sprintf("From %.0f To %.0f Step=%.0f Loops=%.0f\n",nfrom, nto, nstep, loops)) | |||
cat(sprintf(" SIZE Flops Time\n")) | |||
n = nfrom | |||
while ( n <= nto ) { | |||
A <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) | |||
l = 1 | |||
start <- proc.time()[3] | |||
while ( l <= loops ) { | |||
ev <- eigen(A) | |||
l = l + 1 | |||
} | |||
end <- proc.time()[3] | |||
timeg = end - start | |||
mflops = (26.66 *n*n*n ) * loops / ( timeg * 1.0e6 ) | |||
st = sprintf("%.0fx%.0f :",n , n) | |||
cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, timeg)) | |||
n = n + nstep | |||
} | |||
@@ -0,0 +1,63 @@ | |||
#!/usr/bin/Rscript | |||
argv <- commandArgs(trailingOnly = TRUE) | |||
nfrom = 128 | |||
nto = 2048 | |||
nstep = 128 | |||
loops = 1 | |||
if ( length(argv) > 0 ) { | |||
for ( z in 1:length(argv) ) { | |||
if ( z == 1 ) { | |||
nfrom <- as.numeric(argv[z]) | |||
} else if ( z==2 ) { | |||
nto <- as.numeric(argv[z]) | |||
} else if ( z==3 ) { | |||
nstep <- as.numeric(argv[z]) | |||
} else if ( z==4 ) { | |||
loops <- as.numeric(argv[z]) | |||
} | |||
} | |||
} | |||
p=Sys.getenv("OPENBLAS_LOOPS") | |||
if ( p != "" ) { | |||
loops <- as.numeric(p) | |||
} | |||
cat(sprintf("From %.0f To %.0f Step=%.0f Loops=%.0f\n",nfrom, nto, nstep, loops)) | |||
cat(sprintf(" SIZE Flops Time\n")) | |||
n = nfrom | |||
while ( n <= nto ) { | |||
A <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) | |||
B <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) | |||
l = 1 | |||
start <- proc.time()[3] | |||
while ( l <= loops ) { | |||
C <- A %*% B | |||
l = l + 1 | |||
} | |||
end <- proc.time()[3] | |||
timeg = end - start | |||
mflops = ( 2.0 *n*n*n ) * loops / ( timeg * 1.0e6 ) | |||
st = sprintf("%.0fx%.0f :",n , n) | |||
cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, timeg)) | |||
n = n + nstep | |||
} | |||
@@ -0,0 +1,63 @@ | |||
#!/usr/bin/Rscript | |||
argv <- commandArgs(trailingOnly = TRUE) | |||
nfrom = 128 | |||
nto = 2048 | |||
nstep = 128 | |||
loops = 1 | |||
if ( length(argv) > 0 ) { | |||
for ( z in 1:length(argv) ) { | |||
if ( z == 1 ) { | |||
nfrom <- as.numeric(argv[z]) | |||
} else if ( z==2 ) { | |||
nto <- as.numeric(argv[z]) | |||
} else if ( z==3 ) { | |||
nstep <- as.numeric(argv[z]) | |||
} else if ( z==4 ) { | |||
loops <- as.numeric(argv[z]) | |||
} | |||
} | |||
} | |||
p=Sys.getenv("OPENBLAS_LOOPS") | |||
if ( p != "" ) { | |||
loops <- as.numeric(p) | |||
} | |||
cat(sprintf("From %.0f To %.0f Step=%.0f Loops=%.0f\n",nfrom, nto, nstep, loops)) | |||
cat(sprintf(" SIZE Flops Time\n")) | |||
n = nfrom | |||
while ( n <= nto ) { | |||
A <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) | |||
B <- matrix(runif(n*n), ncol = n, nrow = n, byrow = TRUE) | |||
l = 1 | |||
start <- proc.time()[3] | |||
while ( l <= loops ) { | |||
solve(A,B) | |||
l = l + 1 | |||
} | |||
end <- proc.time()[3] | |||
timeg = end - start | |||
mflops = (2.0/3.0 *n*n*n + 2.0 *n*n*n ) * loops / ( timeg * 1.0e6 ) | |||
st = sprintf("%.0fx%.0f :",n , n) | |||
cat(sprintf("%20s %10.2f MFlops %10.6f sec\n", st, mflops, timeg)) | |||
n = n + nstep | |||
} | |||