summaryrefslogtreecommitdiff
path: root/Microbenchmarks/CPU-DPU/run-transfer.sh
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2024-03-12 10:32:32 +0100
committerBirte Kristina Friesel <birte.friesel@uos.de>2024-03-12 10:32:32 +0100
commit4db503a4fc166087ba67e276bd33d5c0cd32da91 (patch)
tree4dffab236c5f949485c148bfc0525646c617e18f /Microbenchmarks/CPU-DPU/run-transfer.sh
parente28258f2a2da33a53faeaefa8e555c053d636628 (diff)
CPU-DPU: support large data transfers on >1000 DPUs (uint32 is a bit small)
Diffstat (limited to 'Microbenchmarks/CPU-DPU/run-transfer.sh')
-rwxr-xr-xMicrobenchmarks/CPU-DPU/run-transfer.sh18
1 files changed, 11 insertions, 7 deletions
diff --git a/Microbenchmarks/CPU-DPU/run-transfer.sh b/Microbenchmarks/CPU-DPU/run-transfer.sh
index d029c8c..f01ef86 100755
--- a/Microbenchmarks/CPU-DPU/run-transfer.sh
+++ b/Microbenchmarks/CPU-DPU/run-transfer.sh
@@ -10,22 +10,26 @@ echo "Revision $(git describe --always)"
completion=0
for i in 1 4 8 $(seq 16 16 2543 | shuf); do
+ nrep=$(perl -E 'my $r = int(7700/$ARGV[0]); say $r > 60 ? 60 : $r' "$i")
for k in BROADCAST; do
completion=$((completion+1))
echo "Running ${completion}/161 at $(date)"
# BROADCAST sends the same data to all DPUs, so data size must not exceed the amount of MRAM available on a single DPU (i.e., 64 MB)
for l in 4194304 6291456 8388608; do
- make -B NR_DPUS=$i NR_TASKLETS=1 BL=10 TRANSFER=$k
- bin/host_code -w 0 -e 100 -x 1 -N 0 -I $(size -A bin/dpu_code | awk '($1 == ".text") {print $2/8}') -i $l
+ if make -B NR_DPUS=$i NR_TASKLETS=1 BL=10 TRANSFER=$k; then
+ bin/host_code -w 0 -e $nrep -x 1 -N 0 -I $(size -A bin/dpu_code | awk '($1 == ".text") {print $2/8}') -i $l
+ fi
done
done
for k in SERIAL PUSH; do
echo "Running at $(date)"
- make -B NR_DPUS=$i NR_TASKLETS=1 BL=10 TRANSFER=$k
- # utilize 50% to 100% of per-DPU MRAM capacity
- bin/host_code -w 0 -e 100 -x 1 -N 0 -I $(size -A bin/dpu_code | awk '($1 == ".text") {print $2/8}') -i $(( 4194304 * i ))
- bin/host_code -w 0 -e 100 -x 1 -N 0 -I $(size -A bin/dpu_code | awk '($1 == ".text") {print $2/8}') -i $(( 6291456 * i ))
- bin/host_code -w 0 -e 100 -x 1 -N 0 -I $(size -A bin/dpu_code | awk '($1 == ".text") {print $2/8}') -i $(( 8388608 * i ))
+ if make -B NR_DPUS=$i NR_TASKLETS=1 BL=10 TRANSFER=$k; then
+ bin/host_code -w 0 -e 60 -x 1 -N 0 -I $(size -A bin/dpu_code | awk '($1 == ".text") {print $2/8}') -i 8388608
+ # utilize 50% to 100% of per-DPU MRAM capacity
+ bin/host_code -w 0 -e $nrep -x 1 -N 0 -I $(size -A bin/dpu_code | awk '($1 == ".text") {print $2/8}') -i $(( 4194304 * i ))
+ #bin/host_code -w 0 -e $nrep -x 1 -N 0 -I $(size -A bin/dpu_code | awk '($1 == ".text") {print $2/8}') -i $(( 6291456 * i ))
+ #bin/host_code -w 0 -e $nrep -x 1 -N 0 -I $(size -A bin/dpu_code | awk '($1 == ".text") {print $2/8}') -i $(( 8388608 * i ))
+ fi
done
done