VISHNU RAMADAS has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/70197?usp=email )
Change subject: tests: Add GPU-FS checkpoint test to weekly
......................................................................
tests: Add GPU-FS checkpoint test to weekly
This commit adds a GPU-FS checkpoint-and-restore test to weekly. The
test builds the disk image and downloads the kernel image needed for
GPU-FS to work. Once the images are ready, square is run and a
checkpoint is taken just before the application is launched. Then, the
checkpoint is restored and run to completion.
Change-Id: I85b78d220a276b34898cfa40b50fd654d47953cd
M tests/weekly.sh
1 file changed, 32 insertions(+), 0 deletions(-)
diff --git a/tests/weekly.sh b/tests/weekly.sh
index 9c7ebdf..baa12b6 100755
--- a/tests/weekly.sh
+++ b/tests/weekly.sh
@@ -387,6 +387,38 @@
--benchmark-root=${gem5_root}/gem5-resources/src/gpu/pannotia/sssp/bin
-c sssp_ell.gem5 --options="1k_128k.gr 0"
+# Test GPU-FS checkpointing
+# Checkpoints are only supported on VEGA_X86. Furthermore, GPUFS only works
+#if the value in /proc/sys/kernel/perf_event_paranoid is 1 or less. A value
+# greater than 1 prevents gem5 from making the syscall to perf_event_open
+# and GPUFS fails
+perf_event_paranoid=$(cat /proc/sys/kernel/perf_event_paranoid)
+if [[ "$gpu_isa" == "VEGA_X86" ]] && [[ $perf_event_paranoid -le 1 ]]; then
-c \
because of
cachefiles DNNMark creates
docker run --rm --volume "${gem5_root}":"${gem5_root}" -w \
--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/70197?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-MessageType: newchange
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I85b78d220a276b34898cfa40b50fd654d47953cd
Gerrit-Change-Number: 70197
Gerrit-PatchSet: 1
Gerrit-Owner: VISHNU RAMADAS vramadas@wisc.edu
VISHNU RAMADAS has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/70197?usp=email )
Change subject: tests: Add GPU-FS checkpoint test to weekly
......................................................................
tests: Add GPU-FS checkpoint test to weekly
This commit adds a GPU-FS checkpoint-and-restore test to weekly. The
test builds the disk image and downloads the kernel image needed for
GPU-FS to work. Once the images are ready, square is run and a
checkpoint is taken just before the application is launched. Then, the
checkpoint is restored and run to completion.
Change-Id: I85b78d220a276b34898cfa40b50fd654d47953cd
---
M tests/weekly.sh
1 file changed, 32 insertions(+), 0 deletions(-)
diff --git a/tests/weekly.sh b/tests/weekly.sh
index 9c7ebdf..baa12b6 100755
--- a/tests/weekly.sh
+++ b/tests/weekly.sh
@@ -387,6 +387,38 @@
--benchmark-root=${gem5_root}/gem5-resources/src/gpu/pannotia/sssp/bin \
-c sssp_ell.gem5 --options="1k_128k.gr 0"
+# Test GPU-FS checkpointing
+# Checkpoints are only supported on VEGA_X86. Furthermore, GPUFS only works
+#if the value in /proc/sys/kernel/perf_event_paranoid is 1 or less. A value
+# greater than 1 prevents gem5 from making the syscall to perf_event_open
+# and GPUFS fails
+perf_event_paranoid=$(cat /proc/sys/kernel/perf_event_paranoid)
+if [[ "$gpu_isa" == "VEGA_X86" ]] && [[ $perf_event_paranoid -le 1 ]]; then
+ docker run --rm --volume "${gem5_root}":"${gem5_root}" -w \
+ "${gem5_root}" --memory="${docker_mem_limit}" hacc-test-weekly bash
-c \
+ "rm -rf ${gem5_root}/m5out"
+ mkdir -p
${gem5_root}/gem5-resources/src/gpu-fs/gem5/util/m5/build/x86/out
+ cd ${gem5_root}/util/m5
+ cp build/x86/out/m5
${gem5_root}/gem5-resources/src/gpu-fs/gem5/util/m5/build/x86/out/
+ cd ${gem5_root}/gem5-resources/src/gpu-fs/disk-image
+ # Build the disk image
+ ./build.sh
+ cd ${gem5_root}
+ # Download square binary
+ wget -qN http://dist.gem5.org/dist/develop/test-progs/square/square
+ # Download kernel for GPUFS
+ wget --no-check-certificate
https://dist.gem5.org/dist/v22-1/kernels/x86/static/vmlinux-5.4.0-105-generic
+ mv vmlinux-5.4.0-105-generic ${gem5_root}/gem5-resources/src/gpu-fs/
+ # Run square and create a checkpoint before kernel launch
+ build/VEGA_X86/gem5.opt configs/example/gpufs/vega10_kvm.py
--disk-image
${gem5_root}/gem5-resources/src/gpu-fs/disk-image/rocm42/rocm42-image/rocm42
--kernel ${gem5_root}/gem5-resources/src/gpu-fs/vmlinux-5.4.0-105-generic
--gpu-mmio-trace ${gem5_root}/gem5-resources/src/gpu-fs/vega_mmio.log --app
${gem5_root}/square --checkpoint-dir m5out/
+ # Restore from the checkpoint and complete square execution
+ build/VEGA_X86/gem5.opt configs/example/gpufs/vega10_kvm.py
--disk-image
${gem5_root}/gem5-resources/src/gpu-fs/disk-image/rocm42/rocm42-image/rocm42
--kernel ${gem5_root}/gem5-resources/src/gpu-fs/vmlinux-5.4.0-105-generic
--gpu-mmio-trace ${gem5_root}/gem5-resources/src/gpu-fs/vega_mmio.log --app
${gem5_root}/square --restore-dir m5out/
+ rm ${gem5_root}/square
+ cd ${gem5_root}
+ rm -rf ${gem5_root}/m5out
+ rm -rf
${gem5_root}/gem5-resources/src/gpu-fs/disk-image/rocm42/rocm42-image
+fi
+
# Delete the gem5 resources repo we created -- need to do in docker
because of
# cachefiles DNNMark creates
docker run --rm --volume "${gem5_root}":"${gem5_root}" -w \
--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/70197?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-MessageType: newchange
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I85b78d220a276b34898cfa40b50fd654d47953cd
Gerrit-Change-Number: 70197
Gerrit-PatchSet: 1
Gerrit-Owner: VISHNU RAMADAS <vramadas@wisc.edu>