Commit Graph

64 Commits

Author SHA1 Message Date
csmartdalton
5772eaa91d skpbench: add warmup run
Does actual work while waiting for hardware settings to kick in,
rather than just sleeping.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2410373002

Review-Url: https://codereview.chromium.org/2410373002
2016-10-11 18:28:54 -07:00
csmartdalton
2a9610171b skpbench: add debug prints for thermal trip points
Prints thermal trip points that have been exceeded when a
HardwareException is raised, and verbosity is set to debug. This can
help us correlate thermal trip points with throttling and detect
future throttling before it occurs.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2408893002

Review-Url: https://codereview.chromium.org/2408893002
2016-10-11 12:15:13 -07:00
csmartdalton
c6618dd1da skpbench: add option for gpu timing
Adds a gpu timing option with a GL implementation.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388433003

Committed: https://skia.googlesource.com/skia/+/c06720d06faab3b01eba1b8693e0ac791f06dc96
Review-Url: https://codereview.chromium.org/2388433003
2016-10-05 08:42:03 -07:00
mtklein
56df2de7fb Revert of skpbench: add option for gpu timing (patchset #7 id:120001 of https://codereview.chromium.org/2388433003/ )
Reason for revert:
many bots failing

Original issue's description:
> skpbench: add option for gpu timing
>
> Adds a gpu timing option with a GL implementation.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388433003
>
> Committed: https://skia.googlesource.com/skia/+/c06720d06faab3b01eba1b8693e0ac791f06dc96

TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2390383002
2016-10-04 12:49:45 -07:00
csmartdalton
c06720d06f skpbench: add option for gpu timing
Adds a gpu timing option with a GL implementation.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388433003

Review-Url: https://codereview.chromium.org/2388433003
2016-10-04 12:33:44 -07:00
csmartdalton
421a3c1cc1 Move GPU fences into sk_gpu_test
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2383383002

Review-Url: https://codereview.chromium.org/2383383002
2016-10-04 11:08:45 -07:00
csmartdalton
6904b19f18 skpbench: use accumulative result as the default
Uses accum instead of median for the first column in skpbench.cpp, and
the default result for parseskpbench.py. The accum is empirically
proving to be more repeatable than the median.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2378383002

Review-Url: https://codereview.chromium.org/2378383002
2016-09-29 06:23:23 -07:00
csmartdalton
e038489a74 skpbench: use double buffering instead of triple
We have no need for our command stream to get more than a couple of
frames deep. Any more and we only increase our chances of sporadic
flushing and unreliable timings.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2376043002

Review-Url: https://codereview.chromium.org/2376043002
2016-09-28 14:53:07 -07:00
csmartdalton
037adf34f5 skpbench: run for a fixed duration
Runs for a fixed amount of time instead of a fixed amount of samples.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2374093002

Review-Url: https://codereview.chromium.org/2374093002
2016-09-28 13:56:01 -07:00
csmartdalton
bf41fa841b Add Pixel C knobs to skpbench
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369533002

Review-Url: https://codereview.chromium.org/2369533002
2016-09-23 11:36:11 -07:00
csmartdalton
5745d795a1 skpbench fixes for linux
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2354273004

Review-Url: https://codereview.chromium.org/2354273004
2016-09-22 12:37:22 -07:00
csmartdalton
d7a9db6444 Add hardware monitoring to skpbench
Adds a Hardware class with hooks for entering and exiting
"benchmarking" mode (e.g. locking clocks, etc.) as well as periodic
polling of hardware to verify the environment is stable.

Adds a partial implementation for generic Android hardware, but
ultimately we will need to write specific classes tailored to each
unique platform we need to test.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2360473002

Review-Url: https://codereview.chromium.org/2360473002
2016-09-22 05:10:03 -07:00
csmartdalton
0262b5c1a0 Add adb support to skpbench
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350003002

Review-Url: https://codereview.chromium.org/2350003002
2016-09-19 12:04:56 -07:00
csmartdalton
4b5179b74c skpbench
skpbench is a benchmarking suite for skps that aims to generate 100%
repeatable results. The initial commit consists of three parts:

skpbench

A minimalist program whose sole purpose is to open an skp file,
benchmark it on a single config, and exit. No tiling, looping, or
other fanciness is used; it just draws the skp whole into a size-
matched render target and syncs the GPU after each draw.

Limiting the entire process to a single config/skp pair helps to keep
the results repeatable.

skpbench.py

A wrapper to execute the skpbench binary with various configs and skps.
It also monitors the output in order to filter out and re-run results
with an unacceptable stddev.

In the future this script will lock down and monitor clocks and
temperatures.

parseskpbench.py

A utility for parsing skpbench output into a spreadsheet.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2341823002

Review-Url: https://codereview.chromium.org/2341823002
2016-09-19 11:03:58 -07:00