summaryrefslogtreecommitdiff
path: root/Microbenchmarks
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2024-02-22 08:23:13 +0100
committerBirte Kristina Friesel <birte.friesel@uos.de>2024-02-22 08:23:13 +0100
commitba4f965bf9b7fb9f7cd441e82f37255e3948b736 (patch)
tree633f42d5ffa625db18df40c9a4beaa306e148d38 /Microbenchmarks
parent1f37fb7ecc503429b29e345be17a1b1b7c7af57c (diff)
STREAM: Add idle and stress versions of run-rank
Diffstat (limited to 'Microbenchmarks')
-rwxr-xr-xMicrobenchmarks/STREAM/run-rank-idle.sh5
-rwxr-xr-xMicrobenchmarks/STREAM/run-rank-stress.sh16
-rwxr-xr-xMicrobenchmarks/STREAM/run-rank.sh9
3 files changed, 24 insertions, 6 deletions
diff --git a/Microbenchmarks/STREAM/run-rank-idle.sh b/Microbenchmarks/STREAM/run-rank-idle.sh
new file mode 100755
index 0000000..7afedd4
--- /dev/null
+++ b/Microbenchmarks/STREAM/run-rank-idle.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+mkdir -p $(hostname)
+
+./run-rank.sh | tee "$(hostname)/rank-idle.txt"
diff --git a/Microbenchmarks/STREAM/run-rank-stress.sh b/Microbenchmarks/STREAM/run-rank-stress.sh
new file mode 100755
index 0000000..1e321c6
--- /dev/null
+++ b/Microbenchmarks/STREAM/run-rank-stress.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+mkdir -p $(hostname)
+
+NCORES=$(grep -c '^processor' /proc/cpuinfo)
+cleanexit() {
+ pkill -f "stress -c ${NCORES}"
+}
+
+trap cleanexit TERM INT
+
+stress -c ${NCORES} &
+
+./run-rank.sh | tee "$(hostname)/rank-stress-c${NCORES}.txt"
+
+cleanexit
diff --git a/Microbenchmarks/STREAM/run-rank.sh b/Microbenchmarks/STREAM/run-rank.sh
index ad3c206..a745a3f 100755
--- a/Microbenchmarks/STREAM/run-rank.sh
+++ b/Microbenchmarks/STREAM/run-rank.sh
@@ -2,8 +2,6 @@
set -e
-(
-
echo "prim-benchmarks STREAM microbenchmark (dfatool edition)"
echo "Started at $(date)"
echo "Revision $(git describe --always)"
@@ -13,9 +11,9 @@ echo "Revision $(git describe --always)"
# With a total MRAM capacity of 64M, this gives us ~21M per buffer, or 16M when rounding down to the next power of two.
# With a maximum data type width of 8B (uint64_t, double), this limits the number of elements per DPU to 2097152.
for i in 2097152 1048576 131072 16384 4096; do
- for nr_dpus in 1 4 8 16 32 48 64; do
- for nr_tasklets in 1 8 12 16; do
- for dt in uint64_t uint8_t uint16_t uint32_t float double; do
+ for dt in uint64_t uint8_t uint16_t uint32_t float double; do
+ for nr_dpus in 1 4 8 16 32 48 64; do
+ for nr_tasklets in 1 8 12 16; do
for op in triad scale add copy copyw; do
# BL: use 2^(BL) B blocks for MRAM <-> WRAM transfers on PIM module
# Our largest data type holds 8B, so the minimum block size is 3.
@@ -35,4 +33,3 @@ for i in 2097152 1048576 131072 16384 4096; do
done
done
echo "Completed at $(date)"
-) | tee "log-$(hostname)-rank-idle.txt"