chundoong-lab-ta/SamsungDS22/submissions/final/tcgen.py

56 lines
1.5 KiB
Python
Raw Normal View History

2022-09-29 18:01:45 +09:00
import random
BASE="""
salloc -N {nodes} --exclusive \\
mpirun --bind-to none -mca btl ^openib -npernode 1 \\
numactl --physcpubind 0-39 \\
./main -v -p {padding} -d {dilation} -s {stride} {N} {C} {H} {W} {K} {R} {S} \\
"""
for i in range(10):
nodes=random.randint(1,2)
padding=random.randint(0,10)
stride=random.randint(1,5)
dilation=random.randint(1,5)
N=random.randint(1,128)
C=random.randint(1,128)
H=random.randint(1,128)
W=random.randint(1,128)
K=random.randint(1,128)
R=random.randint(1,128)
S=random.randint(1,128)
OH = (H + 2 * padding - dilation * (R - 1) - 1) // stride + 1
OW = (W + 2 * padding - dilation * (S - 1) - 1) // stride + 1
FLOPS = 2 * N * K * OH * OW * C * R * S
while not(OH > 0 and OW > 0 and FLOPS < 100 * 1e9):
padding=random.randint(0,10)
stride=random.randint(1,5)
dilation=random.randint(1,5)
N=random.randint(1,128)
C=random.randint(1,128)
H=random.randint(1,128)
W=random.randint(1,128)
K=random.randint(1,128)
R=random.randint(1,128)
S=random.randint(1,128)
OH = (H + 2 * padding - dilation * (R - 1) - 1) // stride + 1
OW = (W + 2 * padding - dilation * (S - 1) - 1) // stride + 1
FLOPS = 2 * N * K * OH * OW * C * R * S
print(BASE.format(
nodes=nodes,
padding=padding,
stride=stride,
dilation=dilation,
N=N,
C=C,
H=H,
W=W,
K=K,
R=R,
S=S,
))