gpu: run a single representative scene per tool by default
glmark2 (terrain) and vkmark (texture) now each run one ~10s scene instead of the full multi-scene sweep, cutting the headed part to about a minute. Scene seconds and the vkmark scene are tunable via GLMARK2_DURATION, VKMARK_DURATION and VKMARK_BENCH.
This commit is contained in:
parent
27753b0aba
commit
8e9fd82e8e
3 changed files with 16 additions and 7 deletions
|
|
@ -240,12 +240,12 @@ Headless part (`~25-30 min` per pass):
|
||||||
| 9 | `systemd-analyze` | <1 min | informational |
|
| 9 | `systemd-analyze` | <1 min | informational |
|
||||||
| + | PTS short core (`RUN_PTS=1`) | +30-45 min | kernel build, c-ray, stream |
|
| + | PTS short core (`RUN_PTS=1`) | +30-45 min | kernel build, c-ray, stream |
|
||||||
|
|
||||||
Headed part (`~4-5 min` per pass):
|
Headed part (`~1 min` per pass):
|
||||||
|
|
||||||
| # | Step | ~Time | Notes |
|
| # | Step | ~Time | Notes |
|
||||||
|---|------|-------|-------|
|
|---|------|-------|-------|
|
||||||
| 1 | `glmark2` | ~1-2 min | pinned to the dGPU |
|
| 1 | `glmark2` (terrain, 10 s) | ~15 s | pinned to the dGPU |
|
||||||
| 2 | `vkmark` | ~2-3 min | pinned to the dGPU |
|
| 2 | `vkmark` (texture, 10 s) | ~15 s | pinned to the dGPU |
|
||||||
|
|
||||||
Every step writes its own `results/<name>-<tag>.txt/json`.
|
Every step writes its own `results/<name>-<tag>.txt/json`.
|
||||||
|
|
||||||
|
|
@ -256,6 +256,7 @@ RUN_APPS=0 ./run-benchmarks.sh before headless # skip the app workloads
|
||||||
CORPUS=/path ./run-benchmarks.sh before headless # app corpus cache location
|
CORPUS=/path ./run-benchmarks.sh before headless # app corpus cache location
|
||||||
GOVERNOR=powersave ./run-benchmarks.sh after headless # pin a governor (see §7)
|
GOVERNOR=powersave ./run-benchmarks.sh after headless # pin a governor (see §7)
|
||||||
RUN_GPU=0 ./run-benchmarks.sh before # skip GPU tests in 'all' mode
|
RUN_GPU=0 ./run-benchmarks.sh before # skip GPU tests in 'all' mode
|
||||||
|
GLMARK2_DURATION=10 VKMARK_BENCH=shading ./run-benchmarks.sh before headed # GPU scenes
|
||||||
TOOLS=/path ./run-benchmarks.sh before headless # custom tools dir
|
TOOLS=/path ./run-benchmarks.sh before headless # custom tools dir
|
||||||
GPU_PCI=0000:03:00.0 ./run-benchmarks.sh before headed # force a GPU
|
GPU_PCI=0000:03:00.0 ./run-benchmarks.sh before headed # force a GPU
|
||||||
FIOFILE=/data/fio.bin ./run-benchmarks.sh before headless # fio scratch file
|
FIOFILE=/data/fio.bin ./run-benchmarks.sh before headless # fio scratch file
|
||||||
|
|
|
||||||
|
|
@ -158,8 +158,10 @@
|
||||||
# (from /sys/class/drm: the dGPU is the card with no connected connector)
|
# (from /sys/class/drm: the dGPU is the card with no connected connector)
|
||||||
glxinfo -B | tee glxinfo-$TAG.txt
|
glxinfo -B | tee glxinfo-$TAG.txt
|
||||||
vulkaninfo --summary | tee vulkan-$TAG.txt
|
vulkaninfo --summary | tee vulkan-$TAG.txt
|
||||||
glmark2 -b :duration=30 2>&1 | tail -25 | tee glmark2-$TAG.txt
|
# One representative scene each (fast, comparable); tune with GLMARK2_DURATION,
|
||||||
vkmark --duration 60 2>&1 | tail -30 | tee vkmark-$TAG.txt
|
# VKMARK_DURATION and VKMARK_BENCH (texture|shading|vertex).
|
||||||
|
glmark2 -b terrain:duration=10 2>&1 | tail -25 | tee glmark2-$TAG.txt
|
||||||
|
vkmark -b texture:duration=10 2>&1 | tail -30 | tee vkmark-$TAG.txt
|
||||||
phoronix-test-suite benchmark pts/vkmark # if available in cache
|
phoronix-test-suite benchmark pts/vkmark # if available in cache
|
||||||
# Confirm which GPU rendered: grep -i 'device\|renderer' glxinfo-$TAG.txt
|
# Confirm which GPU rendered: grep -i 'device\|renderer' glxinfo-$TAG.txt
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,9 @@
|
||||||
# CORPUS_URL=... base URL the sample corpora are fetched from
|
# CORPUS_URL=... base URL the sample corpora are fetched from
|
||||||
# GOVERNOR=powersave CPU governor to pin (default performance); an explicit
|
# GOVERNOR=powersave CPU governor to pin (default performance); an explicit
|
||||||
# value is appended to the tag, e.g. after-powersave-headless
|
# value is appended to the tag, e.g. after-powersave-headless
|
||||||
|
# GLMARK2_DURATION=10 seconds for the glmark2 scene (headed part)
|
||||||
|
# VKMARK_DURATION=10 seconds for the vkmark scene (headed part)
|
||||||
|
# VKMARK_BENCH=texture vkmark scene to run (e.g. texture, shading, vertex)
|
||||||
#
|
#
|
||||||
# Run the headless part with a TTY so sudo can prompt for power logging:
|
# Run the headless part with a TTY so sudo can prompt for power logging:
|
||||||
# ssh -t <target> '~/basic-benchmark/run-benchmarks.sh before headless'
|
# ssh -t <target> '~/basic-benchmark/run-benchmarks.sh before headless'
|
||||||
|
|
@ -817,16 +820,19 @@ run_headless() {
|
||||||
|
|
||||||
run_headed() {
|
run_headed() {
|
||||||
section "GPU: glmark2 / vkmark (pinned to ${GPU_PCI:-default})"
|
section "GPU: glmark2 / vkmark (pinned to ${GPU_PCI:-default})"
|
||||||
|
# One representative scene each by default (fast, comparable). Override the
|
||||||
|
# scene/options with GLMARK2_BENCH / VKMARK_BENCH, or the seconds with
|
||||||
|
# GLMARK2_DURATION / VKMARK_DURATION.
|
||||||
phase "glmark2"
|
phase "glmark2"
|
||||||
if have glmark2; then
|
if have glmark2; then
|
||||||
glmark2 -b :duration=30 2>&1 | tail -25 | tee "glmark2-$TAG.txt"
|
glmark2 -b "terrain:duration=${GLMARK2_DURATION:-10}" 2>&1 | tail -25 | tee "glmark2-$TAG.txt"
|
||||||
reg_score "glmark2" "$(gpu_score glmark2 "glmark2-$TAG.txt")"
|
reg_score "glmark2" "$(gpu_score glmark2 "glmark2-$TAG.txt")"
|
||||||
else
|
else
|
||||||
printf 'skip (glmark2 missing) — sudo dnf install -y glmark2\n'
|
printf 'skip (glmark2 missing) — sudo dnf install -y glmark2\n'
|
||||||
fi
|
fi
|
||||||
phase "vkmark"
|
phase "vkmark"
|
||||||
if have vkmark; then
|
if have vkmark; then
|
||||||
vkmark -b :duration=60 2>&1 | tail -30 | tee "vkmark-$TAG.txt"
|
vkmark -b "${VKMARK_BENCH:-texture}:duration=${VKMARK_DURATION:-10}" 2>&1 | tail -30 | tee "vkmark-$TAG.txt"
|
||||||
reg_score "vkmark" "$(gpu_score vkmark "vkmark-$TAG.txt")"
|
reg_score "vkmark" "$(gpu_score vkmark "vkmark-$TAG.txt")"
|
||||||
else
|
else
|
||||||
printf 'skip (vkmark missing) — sudo dnf install -y vkmark\n'
|
printf 'skip (vkmark missing) — sudo dnf install -y vkmark\n'
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue