xref: /aosp_15_r20/external/igt-gpu-tools/benchmarks/ezbench.d/gem_prw.test (revision d83cc019efdc2edc6c4b16e9034a3ceb8d35d77c)
1*d83cc019SAndroid Build Coastguard Worker# This outputs a graph of time(N), the time it takes to write 1<<N bytes in us.
2*d83cc019SAndroid Build Coastguard Worker# e.g. 0 1 2 4 8 16 32
3*d83cc019SAndroid Build Coastguard Worker# The last value is for 4M, convert that to MiB/s for comparison
4*d83cc019SAndroid Build Coastguard Worker#
5*d83cc019SAndroid Build Coastguard Worker# Ideally we want to run this per ring,
6*d83cc019SAndroid Build Coastguard Worker#	gem_exec_nop:rcs, gem_exec_nop:bcs, gem_exec_nop:vcs
7*d83cc019SAndroid Build Coastguard Worker# though for the time being just one will suffice
8*d83cc019SAndroid Build Coastguard Worker
9*d83cc019SAndroid Build Coastguard Worker[ -e $IGT_BENCHMARKS/gem_prw ] || return 1
10*d83cc019SAndroid Build Coastguard Workersudo -n true || return 1
11*d83cc019SAndroid Build Coastguard Worker
12*d83cc019SAndroid Build Coastguard Workerfor j in read write; do
13*d83cc019SAndroid Build Coastguard Worker    for i in cpu gtt; do
14*d83cc019SAndroid Build Coastguard Worker        test_name="$test_name gem:p$j:$i"
15*d83cc019SAndroid Build Coastguard Worker        eval "gem:p$j:${i}_run() { sudo $IGT_BENCHMARKS/gem_prw -D $j -d $i -r \$1 ; }"
16*d83cc019SAndroid Build Coastguard Worker        eval "gem:p$j:${i}_process() { bc -l <<< \" 4*1000000 / \${@: -1} \" ; }"
17*d83cc019SAndroid Build Coastguard Worker    done
18*d83cc019SAndroid Build Coastguard Workerdone
19*d83cc019SAndroid Build Coastguard Worker
20*d83cc019SAndroid Build Coastguard Workertest_exec_time=1
21