diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2023-05-30 16:32:47 +0200 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2023-05-30 16:32:47 +0200 |
commit | ecf6521037c5a9340b137e3bf5df87790c33c58a (patch) | |
tree | 778fa7b9069e10aa6050f7bd896f606d4cfa9293 /VA | |
parent | f167444c7acf9d0a558b076681c821915f6781b4 (diff) |
VA: new dfatool format; -O and reproduction benchmarks
Diffstat (limited to 'VA')
-rw-r--r-- | VA/baselines/cpu/Makefile | 6 | ||||
-rw-r--r-- | VA/baselines/cpu/app_baseline.c | 9 | ||||
-rwxr-xr-x | VA/baselines/cpu/run-opti.sh | 11 | ||||
-rw-r--r-- | VA/host/app.c | 10 | ||||
-rwxr-xr-x | VA/run-paper-strong-rank.sh | 22 | ||||
-rwxr-xr-x | VA/run-paper-weak.sh | 22 |
6 files changed, 65 insertions, 15 deletions
diff --git a/VA/baselines/cpu/Makefile b/VA/baselines/cpu/Makefile index 3171e19..fb7c383 100644 --- a/VA/baselines/cpu/Makefile +++ b/VA/baselines/cpu/Makefile @@ -16,13 +16,15 @@ va_O2: app_baseline.c run: va ./va -t 4 +# -w/-e are not part of upstream config + .PHONY: run_O0 run_O0: va_O0 - ./va_O0 -t 4 + ./va_O0 -t 4 -w 1 -e 100 .PHONY: run_O2 run_O2: va_O2 - ./va_O2 -t 4 + ./va_O2 -t 4 -w 1 -e 100 .PHONY: clean clean: diff --git a/VA/baselines/cpu/app_baseline.c b/VA/baselines/cpu/app_baseline.c index 3fdc10b..1ac6c14 100644 --- a/VA/baselines/cpu/app_baseline.c +++ b/VA/baselines/cpu/app_baseline.c @@ -137,16 +137,13 @@ int main(int argc, char **argv) { nr_threads++; if (rep >= p.n_warmup) { - printf("[::] n_threads=%d e_type=%s n_elements=%d " - "| throughput_cpu_MBps=%f\n", + printf("[::] VA CPU | n_threads=%d e_type=%s n_elements=%d " + "| throughput_MBps=%f", nr_threads, XSTR(T), file_size, file_size * 3 * sizeof(T) / timer.time[0]); - printf("[::] n_threads=%d e_type=%s n_elements=%d " - "| throughput_cpu_MOpps=%f\n", + printf(" throughput_MOpps=%f", nr_threads, XSTR(T), file_size, file_size / timer.time[0]); - printf("[::] n_threads=%d e_type=%s n_elements=%d |", - nr_threads, XSTR(T), file_size); printall(&timer, 0); } } diff --git a/VA/baselines/cpu/run-opti.sh b/VA/baselines/cpu/run-opti.sh new file mode 100755 index 0000000..0a3a4a3 --- /dev/null +++ b/VA/baselines/cpu/run-opti.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +HOST="$(hostname)" + +echo $HOST + +make clean + +make run_O0 | sed 's/CPU/CPU O0/' | tee "${HOST}-O0.txt" + +make run_O2 | sed 's/CPU/CPU O2/' | tee "${HOST}-O2.txt" diff --git a/VA/host/app.c b/VA/host/app.c index bfa6806..7758d65 100644 --- a/VA/host/app.c +++ b/VA/host/app.c @@ -187,20 +187,16 @@ int main(int argc, char **argv) { if (status) { printf("[" ANSI_COLOR_GREEN "OK" ANSI_COLOR_RESET "] Outputs are equal\n"); if (rep >= p.n_warmup) { - printf("[::] n_dpus=%d n_tasklets=%d e_type=%s block_size_B=%d n_elements=%d " - "| throughput_cpu_MBps=%f throughput_pim_MBps=%f throughput_MBps=%f\n", + printf("[::] VA NMC | n_dpus=%d n_tasklets=%d e_type=%s block_size_B=%d n_elements=%d " + "| throughput_cpu_MBps=%f throughput_pim_MBps=%f throughput_MBps=%f", nr_of_dpus, NR_TASKLETS, XSTR(T), BLOCK_SIZE, input_size, input_size * 3 * sizeof(T) / timer.time[0], input_size * 3 * sizeof(T) / (timer.time[1]), input_size * 3 * sizeof(T) / (timer.time[1] + timer.time[2] + timer.time[3])); - printf("[::] n_dpus=%d n_tasklets=%d e_type=%s block_size_B=%d n_elements=%d " - "| throughput_cpu_MOpps=%f throughput_pim_MOpps=%f throughput_MOpps=%f\n", - nr_of_dpus, NR_TASKLETS, XSTR(T), BLOCK_SIZE, input_size, + printf(" throughput_cpu_MOpps=%f throughput_pim_MOpps=%f throughput_MOpps=%f\n", input_size / timer.time[0], input_size / (timer.time[1]), input_size / (timer.time[1] + timer.time[2] + timer.time[3])); - printf("[::] n_dpus=%d n_tasklets=%d e_type=%s block_size_B=%d n_elements=%d | ", - nr_of_dpus, NR_TASKLETS, XSTR(T), BLOCK_SIZE, input_size); printall(&timer, 3); } } else { diff --git a/VA/run-paper-strong-rank.sh b/VA/run-paper-strong-rank.sh new file mode 100755 index 0000000..671eafc --- /dev/null +++ b/VA/run-paper-strong-rank.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +set -e + +# BL: use 2^(BL) B blocks for MRAM <-> WRAM transfers on PIM module +# T: data type +# -w: number of un-timed warmup iterations +# -e: number of timed iterations +# -i; ignored, always uses 262144 elements + +echo "prim-benchmarks VA strong-rank (dfatool edition)" +echo "Started at $(date)" +echo "Revision $(git describe --always)" + +for nr_dpus in 1 4 16 64; do + for nr_tasklets in 1 2 4 8 16; do + echo + if make -B NR_DPUS=${nr_dpus} NR_TASKLETS=${nr_tasklets} BL=10; then + timeout --foreground -k 1m 30m bin/host_code -w 0 -e 100 -i 2621440 -x 1 || true + fi + done +done | tee log-paper-strong-rank.txt diff --git a/VA/run-paper-weak.sh b/VA/run-paper-weak.sh new file mode 100755 index 0000000..99eed79 --- /dev/null +++ b/VA/run-paper-weak.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +set -e + +# BL: use 2^(BL) B blocks for MRAM <-> WRAM transfers on PIM module +# T: data type +# -w: number of un-timed warmup iterations +# -e: number of timed iterations +# -i; ignored, always uses 262144 elements + +echo "prim-benchmarks VA weak (dfatool edition)" +echo "Started at $(date)" +echo "Revision $(git describe --always)" + +for nr_dpus in 1 4 16 64; do + for nr_tasklets in 1 2 4 8 16; do + echo + if make -B NR_DPUS=${nr_dpus} NR_TASKLETS=${nr_tasklets} BL=10; then + timeout --foreground -k 1m 30m bin/host_code -w 0 -e 100 -i 2621440 -x 0 || true + fi + done +done | tee log-paper-weak.txt |