mirror of
https://github.com/clearlinux/dockerfiles.git
synced 2026-09-05 21:21:50 +00:00
113 lines
2.4 KiB
YAML
113 lines
2.4 KiB
YAML
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
|