aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2018-05-31 10:44:30 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-31 16:34:43 +0000
commitdbe89bb0312c6b68b51676596335faed13507052 (patch)
treeedc627cc55653dd879c939e0524b12ac0a55cbb2 /infra
parent489e2bdae83e849d12695044dc61837c06d3f76d (diff)
Add a DDL Skpbench bot
This adds a 9 threads 3x3 grid of tiles DDL SKPBench bot that reports the total time. We will eventually want a 4x4 bot, a 1x1 bot and a 0x1 bot. Additionally, we will want another whole set that only emits the DDL record time. So the ultimate naming scheme would be: DDLTotal_9x9 DDLRecord_9x9 DDLTotal_4x4 DDLRecord_4x4 DDLTotal_1x1 DDLRecord_1x1 DDLTotal_0x1 Change-Id: Ia96c79ec05602077f4112c69cb344bd8c9b2b4b1 Reviewed-on: https://skia-review.googlesource.com/130923 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Eric Boren <borenet@google.com>
Diffstat (limited to 'infra')
-rw-r--r--infra/bots/gen_tasks.go2
-rw-r--r--infra/bots/jobs.json1
-rw-r--r--infra/bots/recipes/skpbench.expected/Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9.json156
-rw-r--r--infra/bots/recipes/skpbench.py7
-rw-r--r--infra/bots/tasks.json204
5 files changed, 369 insertions, 1 deletions
diff --git a/infra/bots/gen_tasks.go b/infra/bots/gen_tasks.go
index 53e933187e..e7ca2647ec 100644
--- a/infra/bots/gen_tasks.go
+++ b/infra/bots/gen_tasks.go
@@ -331,7 +331,7 @@ func deriveCompileTaskName(jobName string, parts map[string]string) string {
ec := []string{}
if val := parts["extra_config"]; val != "" {
ec = strings.Split(val, "_")
- ignore := []string{"Skpbench", "AbandonGpuContext", "PreAbandonGpuContext", "Valgrind", "ReleaseAndAbandonGpuContext", "CCPR", "FSAA", "FAAA", "FDAA", "NativeFonts", "GDI", "NoGPUThreads", "ProcDump", "DDL1", "DDL3", "T8888"}
+ ignore := []string{"Skpbench", "AbandonGpuContext", "PreAbandonGpuContext", "Valgrind", "ReleaseAndAbandonGpuContext", "CCPR", "FSAA", "FAAA", "FDAA", "NativeFonts", "GDI", "NoGPUThreads", "ProcDump", "DDL1", "DDL3", "T8888", "DDLTotal", "9x9"}
keep := make([]string, 0, len(ec))
for _, part := range ec {
if !util.In(part, ignore) {
diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json
index 27d61cde50..ab90cec340 100644
--- a/infra/bots/jobs.json
+++ b/infra/bots/jobs.json
@@ -256,6 +256,7 @@
"Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-ANGLE",
"Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan",
"Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench",
+ "Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9",
"Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All",
"Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE",
"Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Release-All",
diff --git a/infra/bots/recipes/skpbench.expected/Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9.json b/infra/bots/recipes/skpbench.expected/Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9.json
new file mode 100644
index 0000000000..63afc2b97d
--- /dev/null
+++ b/infra/bots/recipes/skpbench.expected/Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9.json
@@ -0,0 +1,156 @@
+[
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/tmp"
+ ],
+ "infra_step": true,
+ "name": "makedirs tmp_dir"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "Get skp VERSION"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "42",
+ "[START_DIR]/tmp/SKP_VERSION"
+ ],
+ "infra_step": true,
+ "name": "write SKP_VERSION"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/[SWARM_OUT_DIR]/perfdata/Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9/data"
+ ],
+ "infra_step": true,
+ "name": "makedirs perf_dir"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[START_DIR]/skia/tools/skpbench/skpbench.py",
+ "[START_DIR]/build/out/Release_x64/skpbench",
+ "--resultsfile",
+ "[START_DIR]/[SWARM_OUT_DIR]/table",
+ "--config",
+ "vk",
+ "-v5",
+ "--ddl",
+ "--ddlNumAdditionalThreads",
+ "9",
+ "--ddlTilingWidthHeight",
+ "3",
+ "[START_DIR]/skp"
+ ],
+ "env": {
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
+ },
+ "name": "skpbench"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
+ ],
+ "name": "get swarming bot id",
+ "stdout": "/path/to/tmp/",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@python.inline@import os@@@",
+ "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
+ "@@@STEP_LOG_END@python.inline@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
+ ],
+ "name": "get swarming task id",
+ "stdout": "/path/to/tmp/",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@python.inline@import os@@@",
+ "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
+ "@@@STEP_LOG_END@python.inline@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[START_DIR]/skia/tools/skpbench/skiaperf.py",
+ "[START_DIR]/[SWARM_OUT_DIR]/table",
+ "--properties",
+ "gitHash",
+ "abc123",
+ "swarming_bot_id",
+ "skia-bot-123",
+ "swarming_task_id",
+ "123456",
+ "--outfile",
+ "[START_DIR]/[SWARM_OUT_DIR]/perfdata/Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9/data/skpbench_abc123_1337000001.json",
+ "--key",
+ "arch",
+ "x86_64",
+ "compiler",
+ "Clang",
+ "cpu_or_gpu",
+ "GPU",
+ "cpu_or_gpu_value",
+ "QuadroP400",
+ "extra_config",
+ "Vulkan_Skpbench_DDLTotal_9x9",
+ "model",
+ "Golo",
+ "os",
+ "Win10",
+ "test_filter",
+ "All"
+ ],
+ "env": {
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
+ },
+ "name": "Parse skpbench output into Perf json"
+ },
+ {
+ "name": "$result",
+ "recipe_result": null,
+ "status_code": 0
+ }
+] \ No newline at end of file
diff --git a/infra/bots/recipes/skpbench.py b/infra/bots/recipes/skpbench.py
index 29613e147b..0ac5f546ae 100644
--- a/infra/bots/recipes/skpbench.py
+++ b/infra/bots/recipes/skpbench.py
@@ -60,6 +60,11 @@ def skpbench_steps(api):
'--config', config,
# TODO(dogben): Track down what's causing bots to die.
'-v5']
+ if 'DDLTotal_9x9' in api.vars.builder_name:
+ skpbench_args += [
+ '--ddl',
+ '--ddlNumAdditionalThreads', 9,
+ '--ddlTilingWidthHeight', 3]
if 'Android' in api.vars.builder_name:
skpbench_args += [
'--adb',
@@ -133,6 +138,8 @@ TEST_BUILDERS = [
('Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-'
'Android_CCPR_Skpbench'),
'Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench',
+ ('Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-'
+ 'Vulkan_Skpbench_DDLTotal_9x9'),
]
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index 13fa8de867..43aa54f566 100644
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -1554,6 +1554,12 @@
"Upload-Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench"
]
},
+ "Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9": {
+ "priority": 0.8,
+ "tasks": [
+ "Upload-Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9"
+ ]
+ },
"Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All": {
"priority": 0.8,
"tasks": [
@@ -33102,6 +33108,104 @@
],
"priority": 0.8
},
+ "Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:206b4474cb712bdad8b7b3f213880cfbf03f120c"
+ },
+ {
+ "name": "infra/tools/authutil/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:9c63809842a277ce10a86afd51b61c639a665d11"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:d0130097bd6364a8d834cb9efd4554c1f6192c82"
+ }
+ ],
+ "command": [
+ "./kitchen${EXECUTABLE_SUFFIX}",
+ "cook",
+ "-checkout-dir",
+ "recipe_bundle",
+ "-mode",
+ "swarming",
+ "-luci-system-account",
+ "system",
+ "-cache-dir",
+ "cache",
+ "-temp-dir",
+ "tmp",
+ "-known-gerrit-host",
+ "android.googlesource.com",
+ "-known-gerrit-host",
+ "boringssl.googlesource.com",
+ "-known-gerrit-host",
+ "chromium.googlesource.com",
+ "-known-gerrit-host",
+ "dart.googlesource.com",
+ "-known-gerrit-host",
+ "fuchsia.googlesource.com",
+ "-known-gerrit-host",
+ "go.googlesource.com",
+ "-known-gerrit-host",
+ "llvm.googlesource.com",
+ "-known-gerrit-host",
+ "skia.googlesource.com",
+ "-known-gerrit-host",
+ "webrtc.googlesource.com",
+ "-output-result-json",
+ "${ISOLATED_OUTDIR}/build_result_filename",
+ "-workdir",
+ ".",
+ "-recipe",
+ "skpbench",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9\",\"patch_issue\":\"<(ISSUE)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"perf\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Build-Win-Clang-x86_64-Release-Vulkan",
+ "Housekeeper-PerCommit-IsolateSKP"
+ ],
+ "dimensions": [
+ "gpu:10de:1cb3-23.21.13.9103",
+ "os:Windows-10-16299.309",
+ "pool:Skia"
+ ],
+ "env_prefixes": {
+ "PATH": [
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "${cache_dir}/vpython"
+ ]
+ },
+ "execution_timeout_ns": 14400000000000,
+ "expiration_ns": 72000000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ },
+ "io_timeout_ns": 14400000000000,
+ "isolate": "skpbench_skia_bundled.isolate",
+ "max_attempts": 1,
+ "outputs": [
+ "perf"
+ ],
+ "priority": 0.8
+ },
"Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All": {
"caches": [
{
@@ -77902,6 +78006,106 @@
"priority": 0.8,
"service_account": "skia-external-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
+ "Upload-Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:206b4474cb712bdad8b7b3f213880cfbf03f120c"
+ },
+ {
+ "name": "infra/tools/authutil/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:9c63809842a277ce10a86afd51b61c639a665d11"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:d0130097bd6364a8d834cb9efd4554c1f6192c82"
+ },
+ {
+ "name": "infra/gsutil",
+ "path": "cipd_bin_packages",
+ "version": "version:4.28"
+ }
+ ],
+ "command": [
+ "./kitchen${EXECUTABLE_SUFFIX}",
+ "cook",
+ "-checkout-dir",
+ "recipe_bundle",
+ "-mode",
+ "swarming",
+ "-luci-system-account",
+ "system",
+ "-cache-dir",
+ "cache",
+ "-temp-dir",
+ "tmp",
+ "-known-gerrit-host",
+ "android.googlesource.com",
+ "-known-gerrit-host",
+ "boringssl.googlesource.com",
+ "-known-gerrit-host",
+ "chromium.googlesource.com",
+ "-known-gerrit-host",
+ "dart.googlesource.com",
+ "-known-gerrit-host",
+ "fuchsia.googlesource.com",
+ "-known-gerrit-host",
+ "go.googlesource.com",
+ "-known-gerrit-host",
+ "llvm.googlesource.com",
+ "-known-gerrit-host",
+ "skia.googlesource.com",
+ "-known-gerrit-host",
+ "webrtc.googlesource.com",
+ "-output-result-json",
+ "${ISOLATED_OUTDIR}/build_result_filename",
+ "-workdir",
+ ".",
+ "-recipe",
+ "upload_nano_results",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9\",\"gs_bucket\":\"skia-perf\",\"patch_issue\":\"<(ISSUE)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-highmem-2",
+ "os:Debian-9.4",
+ "pool:Skia"
+ ],
+ "env_prefixes": {
+ "PATH": [
+ "cipd_bin_packages",
+ "cipd_bin_packages/bin"
+ ],
+ "VPYTHON_VIRTUALENV_ROOT": [
+ "${cache_dir}/vpython"
+ ]
+ },
+ "execution_timeout_ns": 3600000000000,
+ "extra_tags": {
+ "log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ },
+ "io_timeout_ns": 3600000000000,
+ "isolate": "swarm_recipe.isolate",
+ "priority": 0.8,
+ "service_account": "skia-external-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
"Upload-Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Release-All": {
"caches": [
{