From 46c4926485b6eeb942ef074e96275dad39047898 Mon Sep 17 00:00:00 2001 From: Matt Sinclair Date: Sat, 25 Sep 2021 13:11:24 -0500 Subject: [PATCH] tests: Add HeteroSync to nightly regression HeteroSync does a good job of testing the GPU memory system and atomics support, without requiring a long runtime. Thus, this commit adds a mutex and barrier test from HeteroSync to the nightly regression to ensure these components are tested. Change-Id: I65998a0a63d41dd3ba165c3a000cee7e42e9034a Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50951 Maintainer: Matt Sinclair Tested-by: kokoro Reviewed-by: Bobby R. Bruce --- tests/nightly.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/nightly.sh b/tests/nightly.sh index 91b19f52b5..6631bb0a46 100755 --- a/tests/nightly.sh +++ b/tests/nightly.sh @@ -102,3 +102,25 @@ mkdir -p tests/testing-results docker run --rm -u $UID:$GUID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" gcr.io/gem5-test/gcn-gpu:latest build/GCN3_X86/gem5.opt \ configs/example/apu_se.py -n3 -c square + +# get HeteroSync +wget -qN http://dist.gem5.org/dist/develop/test-progs/heterosync/gcn3/allSyncPrims-1kernel + +# run HeteroSync sleepMutex -- 16 WGs (4 per CU in default config), each doing +# 10 Ld/St per thread and 4 iterations of the critical section is a reasonable +# moderate contention case for the default 4 CU GPU config and help ensure GPU +# atomics are tested. +docker run --rm -u $UID:$GUID --volume "${gem5_root}":"${gem5_root}" -w \ + "${gem5_root}" gcr.io/gem5-test/gcn-gpu:latest build/GCN3_X86/gem5.opt \ + configs/example/apu_se.py -n3 -callSyncPrims-1kernel \ + --options="sleepMutex 10 16 4" + +# run HeteroSync LFBarr -- similar setup to sleepMutex above -- 16 WGs +# accessing unique data and then joining a lock-free barrier, 10 Ld/St per +# thread, 4 iterations of critical section. Again this is representative of a +# moderate contention case for the default 4 CU GPU config and help ensure GPU +# atomics are tested. +docker run --rm -u $UID:$GUID --volume "${gem5_root}":"${gem5_root}" -w \ + "${gem5_root}" gcr.io/gem5-test/gcn-gpu:latest build/GCN3_X86/gem5.opt \ + configs/example/apu_se.py -n3 -callSyncPrims-1kernel \ + --options="lfTreeBarrUniq 10 16 4"