|
edd331eb
|
2022-04-28T09:47:51
|
|
Traces: Add a device arg to restricted_trace_perf
In case of multiple available devices, we can use either this
argument or setting $ANDROID_SERIAL to select the device to run
tests on.
* Added the option to run restricted_trace_perf with more than
one connected device.
* The device serial can be entered either by using the --device
arg or setting $ANDROID_SERIAL. If both are used at the same
time, the former has more priority.
* Neither is required if there is only one connected device.
Bug: angleproject:6970
Change-Id: Id80398b82ea5b905f3dbfa4651d5f5246a3ccbe8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3615082
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5cffbe96
|
2022-03-08T14:51:11
|
|
Android: Track peak GPU memory in restricted_trace_perf
We've noticed that the script reports higher memory usage than
recorded with local runs with similar steps. We isolated this to
ANGLE using much higher peak memory when the trace loads, but then
evens out after some time, nearing parity with native.
To track this for optimization, we are going to split the memory
tracking into:
- peak GPU memory usage
- sustained GPU memory usage
This CL changes the script to:
* Measure peak GPU memory usage by tracking total GPU memory used
throughout the trace, returning the highest.
* Measure sustained GPU memory usage by tracking usage from the
middle of the trace (based on run time), returning the average.
* Update the frequency of memory sampling by reducing sleep to 0.25
seconds instead of 1.0 second.
As a data point, here is what angry_birds_2_1500 reports on Pixel 6:
Before: 602599651 bytes
After: 672231424 bytes (peak)
360621537 bytes (sustained)
Bug: angleproject:6970
Change-Id: I227e30abeb6a5f28fe7230a2979441c3693234f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3511314
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3b4548bb
|
2022-02-02T15:19:06
|
|
Traces: Add restricted_trace_perf.py script for Android
We've been using restricted_trace_perf.py to gather numbers on
Android devices. The script uses angle_perftests and records:
- Wall time per frame
- GPU time per frame
- CPU time per frame
- GPU power per frame
- CPU power per frame
- GPU memory per frame
It reports numbers to the terminal and creates a spreadsheet at
the end. A typical command to run it would be:
python3 restricted_trace_perf.py --fixedtime 10 --power \
--output-tag <tag> --loop-count 5
Power numbers are only available on Pixel 6 as we read directly
from power rails.
Also included is a gpumem shell script run on the Android device,
and a power_denoising script that deactivates a number of services
to reduce variance. The former is invoked automatically, the latter
is only invoked by hand.
Bug: angleproject:6970
Change-Id: I11fd346790565b5efcda228f43dc36dd41025642
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3432821
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|