summaryrefslogtreecommitdiff
path: root/VA/dimes-hetsim-hbm.sh
blob: 5c1bb571ccf800fa03cc86caca1334c38dcb085d (plain)
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
#!/bin/sh

cd baselines/cpu

mkdir -p log/$(hostname)
fn=log/$(hostname)/dimes-hetsim-hbm

# upstream uses 167772160 * 2 * int32 == 2.5 GiB input and 1.25 GiB output for DPU version

(

make -B NUMA=1 NUMA_MEMCPY=1

echo "CPU single-node operation with setup cost, memcpy node == input node, cpu node == output node (1/3)" >&2

parallel -j1 --eta --joblog ${fn}.1.joblog --resume --header : \
	./va -i {input_size} -a {ram_in} -b {ram_out} -c {cpu} -C {ram_local} -M {cpu_memcpy} -t {nr_threads} -w 0 -e 5 \
	::: nr_threads 1 2 4 8 12 16 \
	:::      ram_in $(seq 0 15) \
	:::+ cpu_memcpy $(seq 0 7) $(seq 0 7) \
	:::   ram_local $(seq 0 15) \
	:::+        cpu $(seq 0 7) $(seq 0 7) \
	:::+    ram_out $(seq 0 15) \
	::: input_size 167772160

make -B NUMA=1

echo "single-node execution, cpu/out on same node (2/3)" >&2

parallel -j1 --eta --joblog ${fn}.2.joblog --resume --header : \
	./va -i {input_size} -a {ram_in} -b {ram_out} -c {cpu} -t {nr_threads} -w 0 -e 5 \
	::: nr_threads 1 2 4 8 12 16 \
	:::   ram_in $(seq 0 15) \
	:::      cpu $(seq 0 7) $(seq 0 7) \
	:::+ ram_out $(seq 0 15) \
	::: input_size 167772160

echo "multi-node execution (3/3)" >&2

parallel -j1 --eta --joblog ${fn}.3.joblog --resume --header : \
	./va -i {input_size} -a {ram_in} -b {ram_out} -c {cpu} -t {nr_threads} -w 0 -e 20 \
	::: nr_threads 32 48 64 96 128 \
	::: cpu -1 \
	::: ram_in $(seq 0 15) \
	::: ram_out $(seq 0 15) \
	::: input_size 167772160

) >> ${fn}.txt