summaryrefslogtreecommitdiff
path: root/Microbenchmarks/WRAM/run-transfer.sh
blob: c707fbe89514848b6198e30676aab7eab36cf6dc (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
49
50
51
52
53
54
55
56
#!/bin/bash

# The DPU application reads BL<<2 sized blocks of data from MRAM to WRAM via
# DMA (mram_read). It then performs the specified type of copy operation
# (i.e., streaming copy / strided copy / copy of random elements) within this
# block and writes the result back from WRAM to MRAM via DMA (mram_write).
# By default (MEM=WRAM), each tasklet reports the total number of cycles
# spent in the WRAM-to-WRAM copy operation. With MEM=MRAM, each tasklet instead
# reports the total number of cycles spent in MRAM processing: DMA read,
# WRAM-to-WRAM copy, and DMA write.

set -e

(

echo "prim-benchmarks WRAM microbenchmark (dfatool edition)"
echo "Started at $(date)"
echo "Revision $(git describe --always)"

for ndpu in 1 4 8 16 32 48 64 128 256; do
	for ntask in 1 2 4 8 16; do
		for bl in 4 5 6 7 8 9 10 11; do
			for op in streaming strided random; do
				if make -B NR_DPUS=$ndpu NR_TASKLETS=$ntask BL=$bl OP=$op; then
					bin/host_code -w 0 -e 50 || true
				fi
			done
		done
	done
done
echo "Completed at $(date)"
) | tee "log-$(hostname)-wram.txt"
rm -f "log-$(hostname)-wram.txt"
xz -v -9 -M 800M "log-$(hostname)-wram.txt"

(

echo "prim-benchmarks WRAM microbenchmark (dfatool edition)"
echo "Started at $(date)"
echo "Revision $(git describe --always)"

for ndpu in 1 4 8 16 32 48 64 128 256; do
	for ntask in 1 2 4 8 16; do
		for bl in 4 5 6 7 8 9 10 11; do
			for op in streaming strided random; do
				if make -B NR_DPUS=$ndpu NR_TASKLETS=$ntask BL=$bl OP=$op MEM=MRAM; then
					bin/host_code -w 0 -e 50 || true
				fi
			done
		done
	done
done
echo "Completed at $(date)"
) | tee "log-$(hostname)-mram.txt"
rm -f "log-$(hostname)-mram.txt"
xz -v -9 -M 800M "log-$(hostname)-mramd.txt"