From 4db503a4fc166087ba67e276bd33d5c0cd32da91 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Tue, 12 Mar 2024 10:32:32 +0100 Subject: CPU-DPU: support large data transfers on >1000 DPUs (uint32 is a bit small) --- Microbenchmarks/CPU-DPU/run-transfer.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'Microbenchmarks/CPU-DPU/run-transfer.sh') 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 -- cgit v1.2.3