-
Notifications
You must be signed in to change notification settings - Fork 83
/
Copy pathnumpy-mp-demo-deployment.yaml
112 lines (97 loc) · 2.42 KB
/
numpy-mp-demo-deployment.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
apiVersion: v1
kind: ConfigMap
metadata:
name: sgemm
namespace: default
data:
sgemm.py: |
import os
import sys
import time
import numpy
import logging
from numpy.random import randn
fmt = "%(asctime)-15s %(levelname)s %(filename)s %(lineno)d %(process)d %(message)s"
logging.basicConfig(level=logging.DEBUG,format=fmt)
logging.getLogger().info("start sgemm computing!")
logger=logging.getLogger()
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)
logger.info("%14s :\t%20f MFlops\t%20f sec\n" % (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);
logger.info("From: %d To: %d Step=%d Loops=%d\n" % (N, NMAX, NINC, LOOPS))
logger.info("\tSIZE\t\t\tFlops\t\t\t\t\tTime\n")
logger.info("Hello! Finished\n")
for i in range (N,NMAX+NINC,NINC):
run_sgemm(i,LOOPS)
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: numpy-mp-deploy
labels:
app: bench
spec:
selector:
matchLabels:
app: bench
replicas: 1
template:
metadata:
labels:
app: bench
spec:
containers:
- name: clr-nmp
image: clearlinux/numpy-mp
resources:
limits:
cpu: "10"
requests:
cpu: "0.5"
env:
# - name: OMP_NUM_THREADS
# value: ""
- name: OPENBLAS_LOOPS
value: "2000"
args:
- "python3"
- "sgemm.py"
- "1280"
- "1280"
volumeMounts:
- name: sgemm-py
mountPath: /bench/sgemm.py
subPath: sgemm.py
volumes:
- name: sgemm-py
configMap:
name: sgemm