diff options
author | Robert Phillips <robertphillips@google.com> | 2018-05-31 10:44:30 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-31 16:34:43 +0000 |
commit | dbe89bb0312c6b68b51676596335faed13507052 (patch) | |
tree | edc627cc55653dd879c939e0524b12ac0a55cbb2 /infra | |
parent | 489e2bdae83e849d12695044dc61837c06d3f76d (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.go | 2 | ||||
-rw-r--r-- | infra/bots/jobs.json | 1 | ||||
-rw-r--r-- | infra/bots/recipes/skpbench.expected/Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9.json | 156 | ||||
-rw-r--r-- | infra/bots/recipes/skpbench.py | 7 | ||||
-rw-r--r-- | infra/bots/tasks.json | 204 |
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": [ { |