add M1 GPU bots
There's no GPU dimension on these bots yet, but we can use the CPU to constrain it just fine. Bug: skia:11334 Change-Id: I2d0928ced7a9145a7160a40ea2a5bd2b1601a01b Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390797 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Eric Boren <borenet@google.com>
This commit is contained in:
parent
6f67278428
commit
c44612bffc
@ -463,7 +463,7 @@ Recipe for the Skia RecreateSKPs Bot.
|
||||
|
||||
[DEPS](/infra/bots/recipes/skpbench.py#12): [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step], [recipe\_engine/time][recipe_engine/recipe_modules/time], [flavor](#recipe_modules-flavor), [run](#recipe_modules-run), [vars](#recipe_modules-vars)
|
||||
|
||||
— **def [RunSteps](/infra/bots/recipes/skpbench.py#145)(api):**
|
||||
— **def [RunSteps](/infra/bots/recipes/skpbench.py#155)(api):**
|
||||
|
||||
— **def [skpbench\_steps](/infra/bots/recipes/skpbench.py#41)(api):**
|
||||
|
||||
|
@ -429,6 +429,10 @@ func (b *taskBuilder) dmFlags(internalHardwareLabel string) {
|
||||
skip("mtltestprecompile svg _ Ghostscript_Tiger.svg")
|
||||
}
|
||||
|
||||
if b.gpu("AppleM1") && !b.extraConfig("Metal") {
|
||||
skip("_ test _ TransferPixelsFromTextureTest") // skia:11814
|
||||
}
|
||||
|
||||
if b.model(REDUCE_OPS_TASK_SPLITTING_MODELS...) {
|
||||
args = append(args, "--reduceOpsTaskSplitting", "true")
|
||||
}
|
||||
|
@ -890,6 +890,7 @@ func (b *taskBuilder) defaultSwarmDimensions() {
|
||||
d["gpu"] = gpu
|
||||
} else if b.matchOs("Mac") {
|
||||
gpu, ok := map[string]string{
|
||||
"AppleM1": "AppleM1",
|
||||
"IntelHD6000": "8086:1626",
|
||||
"IntelHD615": "8086:591e",
|
||||
"IntelIris5100": "8086:0a2e",
|
||||
@ -898,7 +899,12 @@ func (b *taskBuilder) defaultSwarmDimensions() {
|
||||
if !ok {
|
||||
log.Fatalf("Entry %q not found in Mac GPU mapping.", b.parts["cpu_or_gpu_value"])
|
||||
}
|
||||
d["gpu"] = gpu
|
||||
if gpu == "AppleM1" {
|
||||
// No GPU dimension yet, but we can constrain by CPU.
|
||||
d["cpu"] = "arm64-64-Apple_M1"
|
||||
} else {
|
||||
d["gpu"] = gpu
|
||||
}
|
||||
// Yuck. We have two different types of MacMini7,1 with the same GPU but different CPUs.
|
||||
if b.gpu("IntelIris5100") {
|
||||
// Run all tasks on Golo machines for now.
|
||||
|
@ -78,11 +78,13 @@
|
||||
"Build-Debian10-EMCC-wasm-Release-WasmGMTests",
|
||||
"Build-Mac-Clang-arm64-Debug",
|
||||
"Build-Mac-Clang-arm64-Debug-Android",
|
||||
"Build-Mac-Clang-arm64-Debug-Metal",
|
||||
"Build-Mac-Clang-arm64-Debug-iOS",
|
||||
"Build-Mac-Clang-arm64-Debug-iOS_Metal",
|
||||
"Build-Mac-Xcode11.4.1-arm64-Debug-iOS_Metal",
|
||||
"Build-Mac-Xcode11.4.1-arm64-Debug-iOS",
|
||||
"Build-Mac-Clang-arm64-Release",
|
||||
"Build-Mac-Clang-arm64-Release-Metal",
|
||||
"Build-Mac-Clang-arm64-Release-iOS",
|
||||
"Build-Mac-Clang-arm64-Release-iOS_Metal",
|
||||
"Build-Mac-Xcode11.4.1-arm64-Release-iOS_Metal",
|
||||
@ -259,6 +261,8 @@
|
||||
"Perf-Mac10.15.1-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Release-All-CommandBuffer",
|
||||
"Perf-Mac10.15.1-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Release-All-Metal",
|
||||
"Perf-Mac10.15.7-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-Metal",
|
||||
"Perf-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-AllPathsVolatile_Skpbench",
|
||||
"Perf-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Metal_AllPathsVolatile_Skpbench",
|
||||
"Perf-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ASAN",
|
||||
"Perf-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All",
|
||||
"Perf-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-ASAN",
|
||||
@ -486,6 +490,8 @@
|
||||
"Test-Mac10.15.7-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-Metal",
|
||||
"Test-Mac11-Clang-MacMini9.1-CPU-AppleM1-arm64-Debug-All",
|
||||
"Test-Mac11-Clang-MacMini9.1-CPU-AppleM1-arm64-Debug-All-NativeFonts",
|
||||
"Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All",
|
||||
"Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-Metal",
|
||||
"Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ASAN",
|
||||
"Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1",
|
||||
"Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL1_Vulkan",
|
||||
|
@ -0,0 +1,162 @@
|
||||
[
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-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": [
|
||||
"vpython",
|
||||
"-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",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@VERSION@42@@@",
|
||||
"@@@STEP_LOG_END@VERSION@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-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",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
|
||||
"@@@STEP_LOG_END@SKP_VERSION@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"ensure-directory",
|
||||
"--mode",
|
||||
"0777",
|
||||
"[START_DIR]/[SWARM_OUT_DIR]"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "makedirs perf_dir"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"[START_DIR]/skia/tools/skpbench/skpbench.py",
|
||||
"[START_DIR]/build/skpbench",
|
||||
"--resultsfile",
|
||||
"[START_DIR]/[SWARM_OUT_DIR]/table",
|
||||
"--config",
|
||||
"mtlmsaa4",
|
||||
"--internalSamples",
|
||||
"4",
|
||||
"-v5",
|
||||
"--allPathsVolatile",
|
||||
"--suffix",
|
||||
"_volatile",
|
||||
"[START_DIR]/skp/desk_*svg.skp",
|
||||
"[START_DIR]/skp/desk_motionmark*.skp",
|
||||
"[START_DIR]/skp/desk_chalkboard.skp"
|
||||
],
|
||||
"env": {
|
||||
"CHROME_HEADLESS": "1",
|
||||
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
||||
},
|
||||
"name": "skpbench"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
|
||||
],
|
||||
"name": "get swarming bot id",
|
||||
"~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",
|
||||
"~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]/skpbench_abc123_1337000001.json",
|
||||
"--key",
|
||||
"arch",
|
||||
"arm64",
|
||||
"compiler",
|
||||
"Clang",
|
||||
"cpu_or_gpu",
|
||||
"GPU",
|
||||
"cpu_or_gpu_value",
|
||||
"AppleM1",
|
||||
"extra_config",
|
||||
"Metal_AllPathsVolatile_Skpbench",
|
||||
"model",
|
||||
"MacMini9.1",
|
||||
"os",
|
||||
"Mac11",
|
||||
"test_filter",
|
||||
"All"
|
||||
],
|
||||
"env": {
|
||||
"CHROME_HEADLESS": "1",
|
||||
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
||||
},
|
||||
"name": "Parse skpbench output into Perf json"
|
||||
},
|
||||
{
|
||||
"name": "$result"
|
||||
}
|
||||
]
|
@ -41,7 +41,9 @@ def _adb(api, title, *cmd, **kwargs):
|
||||
def skpbench_steps(api):
|
||||
"""benchmark Skia using skpbench."""
|
||||
is_vulkan = 'Vulkan' in api.vars.builder_name
|
||||
is_metal = 'Metal' in api.vars.builder_name
|
||||
is_android = 'Android' in api.vars.builder_name
|
||||
is_apple_m1 = 'AppleM1' in api.vars.builder_name
|
||||
is_all_paths_volatile = 'AllPathsVolatile' in api.vars.builder_name
|
||||
is_mskp = 'Mskp' in api.vars.builder_name
|
||||
is_ddl = 'DDL' in api.vars.builder_name
|
||||
@ -57,8 +59,16 @@ def skpbench_steps(api):
|
||||
skpbench_dir = api.vars.workdir.join('skia', 'tools', 'skpbench')
|
||||
table = api.path.join(api.vars.swarming_out_dir, 'table')
|
||||
|
||||
config = 'vk' if is_vulkan else 'gles' if is_android else 'gl'
|
||||
internal_samples = 4 if is_android else 8
|
||||
if is_vulkan:
|
||||
config = 'vk'
|
||||
elif is_metal:
|
||||
config = 'mtl'
|
||||
elif is_android:
|
||||
config = 'gles'
|
||||
else:
|
||||
config = 'gl'
|
||||
|
||||
internal_samples = 4 if is_android or is_apple_m1 else 8
|
||||
|
||||
if is_all_paths_volatile:
|
||||
config = "%smsaa%i" % (config, internal_samples)
|
||||
@ -161,17 +171,13 @@ def RunSteps(api):
|
||||
|
||||
|
||||
TEST_BUILDERS = [
|
||||
('Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-'
|
||||
'Android_Skpbench_Mskp'),
|
||||
('Perf-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Release-All-'
|
||||
'Android_AllPathsVolatile_Skpbench'),
|
||||
('Perf-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Release-All-'
|
||||
'Android_Vulkan_AllPathsVolatile_Skpbench'),
|
||||
'Perf-Android-Clang-Pixel-GPU-Adreno530-arm64-Release-All-Android_Skpbench_Mskp',
|
||||
'Perf-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Release-All-Android_AllPathsVolatile_Skpbench',
|
||||
'Perf-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Release-All-Android_Vulkan_AllPathsVolatile_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'),
|
||||
('Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-'
|
||||
'AllPathsVolatile_Skpbench'),
|
||||
'Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_Skpbench_DDLTotal_9x9',
|
||||
'Perf-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-AllPathsVolatile_Skpbench',
|
||||
'Perf-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Metal_AllPathsVolatile_Skpbench',
|
||||
]
|
||||
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user