The Vulkan benchmarks include:
spinel-vk-bench
A benchmark that exercises the Vulkan API, the Vulkan device's display, and user input.
It is GPU compute-bound or memory-bound with the CPU nearly idle.
For now, only basic SVGs are supported by the parser.
radix-sort-vk-bench
A sorting benchmark that submits a number of intensive compute shaders onto the Vulkan device and captures elapsed times.
For the same hardware any observed differences across hosts should be minimal unless the driver’s codegen is different.
bench-vk
A microbenchmark that captures the round trip time of a GPU submission and completion using several different submit-and-wait Vulkan mechanisms.
This benchmark quantifies the overhead and latency of Magma/FIDL.
(host)$ fx set core.chromebook-x64 \ --with //src/graphics/lib/compute:vulkan-tests \ --with //src/graphics/lib/compute:compute-benchmarks \ --args='core_realm_shards += [ "//src/graphics/lib/compute:compute-benchmarks-shard" ]' \ --release \ --auto-dir
/core/compute-benchmarks
instance(host)$ ffx component resolve /core/compute-benchmarks
/core/compute-benchmarks
instance(host)$ ffx component explore -l namespace /core/compute-benchmarks $ ls pkg/bin bench-vk radix-sort-vk-bench spinel-vk-bench
bench-vk
:(host)$ ffx component explore -l namespace /core/compute-benchmarks $ bench-vk
radix-sort-vk-bench
:(host)$ ffx component explore -l namespace /core/compute-benchmarks $ radix-sort-vk-bench 8086:591C pkg/data/targets/radix_sort_vk_intel_gen8_u32_resource.ar direct 16384 1048576
spinel-vk-bench
:There are three steps:
/core/compute-benchmarks
instance.spinel-vk-bench
for 20 seconds while rotating around (100,100) and scaled by 2.0. The Vulkan Validation layers are disabled with -Q
.(host)$ wget -P /tmp https://upload.wikimedia.org/wikipedia/en/f/ff/UAB_Blazers_logo.svg (host)$ ffx component copy /tmp/UAB_Blazers_logo.svg /core/compute-benchmarks::/cache (host)$ ffx component explore -l namespace /core/compute-benchmarks $ spinel-vk-bench -f /cache/UAB_Blazers_logo.svg -Q -t 20 -r -c 100,100:2 $ <Esc on device or Ctrl-C on host to exit>