From a5e703043ff034afea41ea24e9d8f978f05ba678 Mon Sep 17 00:00:00 2001 From: Ben Wagner Date: Thu, 28 Jun 2018 17:43:08 -0400 Subject: Add OpenCL test job that runs hello-opencl. Add NEO driver to opencl_linux asset. Bug: skia:8081 Change-Id: Ic36c670f3cabd73119845e94fcb2f54525e83443 Reviewed-on: https://skia-review.googlesource.com/138264 Commit-Queue: Mike Klein Auto-Submit: Ben Wagner Reviewed-by: Mike Klein --- infra/bots/assets/opencl_intel_neo_linux/VERSION | 1 + infra/bots/assets/opencl_intel_neo_linux/common.py | 26 +++ infra/bots/assets/opencl_intel_neo_linux/create.py | 72 ++++++++ .../opencl_intel_neo_linux/create_and_upload.py | 42 +++++ .../bots/assets/opencl_intel_neo_linux/download.py | 16 ++ infra/bots/assets/opencl_intel_neo_linux/upload.py | 16 ++ infra/bots/cfg.json | 1 + infra/bots/gen_tasks.go | 10 ++ infra/bots/jobs.json | 1 + infra/bots/recipe_modules/flavor/default.py | 16 ++ ...K-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json | 197 +++++++++++++++++++++ infra/bots/recipe_modules/flavor/examples/full.py | 1 + ...K-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json | 59 ++++++ infra/bots/recipes/compute_test.py | 34 ++++ infra/bots/tasks.json | 133 ++++++++++++++ 15 files changed, 625 insertions(+) create mode 100644 infra/bots/assets/opencl_intel_neo_linux/VERSION create mode 100755 infra/bots/assets/opencl_intel_neo_linux/common.py create mode 100755 infra/bots/assets/opencl_intel_neo_linux/create.py create mode 100755 infra/bots/assets/opencl_intel_neo_linux/create_and_upload.py create mode 100755 infra/bots/assets/opencl_intel_neo_linux/download.py create mode 100755 infra/bots/assets/opencl_intel_neo_linux/upload.py create mode 100644 infra/bots/recipe_modules/flavor/examples/full.expected/Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json create mode 100644 infra/bots/recipes/compute_test.expected/Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json create mode 100644 infra/bots/recipes/compute_test.py (limited to 'infra') diff --git a/infra/bots/assets/opencl_intel_neo_linux/VERSION b/infra/bots/assets/opencl_intel_neo_linux/VERSION new file mode 100644 index 0000000000..56a6051ca2 --- /dev/null +++ b/infra/bots/assets/opencl_intel_neo_linux/VERSION @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/infra/bots/assets/opencl_intel_neo_linux/common.py b/infra/bots/assets/opencl_intel_neo_linux/common.py new file mode 100755 index 0000000000..caa0ad899c --- /dev/null +++ b/infra/bots/assets/opencl_intel_neo_linux/common.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# +# Copyright 2017 Google Inc. +# +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + + +"""Common vars used by scripts in this directory.""" + + +import os +import sys + +FILE_DIR = os.path.dirname(os.path.abspath(__file__)) +INFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir, os.pardir)) + +sys.path.insert(0, INFRA_BOTS_DIR) +from assets import assets + +ASSET_NAME = os.path.basename(FILE_DIR) + + +def run(cmd): + """Run a command, eg. "upload" or "download". """ + assets.main([cmd, ASSET_NAME] + sys.argv[1:]) diff --git a/infra/bots/assets/opencl_intel_neo_linux/create.py b/infra/bots/assets/opencl_intel_neo_linux/create.py new file mode 100755 index 0000000000..1cf22cbed4 --- /dev/null +++ b/infra/bots/assets/opencl_intel_neo_linux/create.py @@ -0,0 +1,72 @@ +#!/usr/bin/env python +# +# Copyright 2018 Google Inc. +# +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + + +"""Create the asset.""" + + +import argparse +import common +import multiprocessing +import os +import shutil +import subprocess +import utils + +def create_asset(target_dir): + """Create the asset.""" + # Check out and build the Intel NEO driver. Following instructions here: + # https://github.com/intel/compute-runtime/blob/master/documentation/BUILD_Ubuntu.md + with utils.tmp_dir(): + # Install build deps. + neo_build_deps = ['ccache', 'flex', 'bison', 'clang-4.0', 'cmake', 'g++', + 'git', 'patch', 'zlib1g-dev', 'autoconf', 'xutils-dev', + 'libtool', 'pkg-config', 'libpciaccess-dev'] + apt_get_cmd = ['sudo', 'apt-get', 'install'] + neo_build_deps + print 'Running "%s"' % ' '.join(apt_get_cmd) + subprocess.check_call(apt_get_cmd) + # Check out repos. + for [repo, branch, local_name] in [ + ['llvm-mirror/clang', 'release_40', 'clang_source'], + ['intel/opencl-clang', 'master', 'common_clang'], + ['intel/llvm-patches', 'master', 'llvm_patches'], + ['llvm-mirror/llvm', 'release_40', 'llvm_source'], + ['intel/gmmlib', 'master', 'gmmlib'], + ['intel/intel-graphics-compiler', 'master', 'igc'], + ['KhronosGroup/OpenCL-Headers', 'master', 'opencl_headers'], + ['intel/compute-runtime', 'master', 'neo'] + ]: + subprocess.check_call(['git', 'clone', '--depth', '1', '--branch', branch, + 'https://github.com/' + repo, local_name]) + # Configure the build. + build_dir = os.path.join(os.getcwd(), 'build') + os.mkdir(build_dir) + os.chdir(build_dir) + subprocess.check_call(['cmake', '-DBUILD_TYPE=Release', + '-DCMAKE_BUILD_TYPE=Release', '../neo']) + # Build and package the library. + subprocess.check_call(['make', '-j%d' % multiprocessing.cpu_count(), + 'package']) + # Extract library and move necessary files to target_dir. We ignore the ICD + # file because it's generated on the bot after we know the path to the CIPD + # package. + subprocess.check_call(['dpkg-deb', '--extract', + 'intel-opencl-1.0-0.x86_64-igdrcl.deb', build_dir]) + lib_dir = os.path.join(build_dir, 'usr', 'local', 'lib') + for f in os.listdir(lib_dir): + shutil.move(os.path.join(lib_dir, f), target_dir) + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--target_dir', '-t', required=True) + args = parser.parse_args() + create_asset(args.target_dir) + + +if __name__ == '__main__': + main() diff --git a/infra/bots/assets/opencl_intel_neo_linux/create_and_upload.py b/infra/bots/assets/opencl_intel_neo_linux/create_and_upload.py new file mode 100755 index 0000000000..de56a80fa8 --- /dev/null +++ b/infra/bots/assets/opencl_intel_neo_linux/create_and_upload.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python +# +# Copyright 2017 Google Inc. +# +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + + +"""Create the asset and upload it.""" + + +import argparse +import common +import os +import subprocess +import sys +import utils + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--gsutil') + args = parser.parse_args() + + with utils.tmp_dir(): + cwd = os.getcwd() + create_script = os.path.join(common.FILE_DIR, 'create.py') + upload_script = os.path.join(common.FILE_DIR, 'upload.py') + + try: + subprocess.check_call(['python', create_script, '-t', cwd]) + cmd = ['python', upload_script, '-t', cwd] + if args.gsutil: + cmd.extend(['--gsutil', args.gsutil]) + subprocess.check_call(cmd) + except subprocess.CalledProcessError: + # Trap exceptions to avoid printing two stacktraces. + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/infra/bots/assets/opencl_intel_neo_linux/download.py b/infra/bots/assets/opencl_intel_neo_linux/download.py new file mode 100755 index 0000000000..ca999e0378 --- /dev/null +++ b/infra/bots/assets/opencl_intel_neo_linux/download.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +# +# Copyright 2017 Google Inc. +# +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + + +"""Download the current version of the asset.""" + + +import common + + +if __name__ == '__main__': + common.run('download') diff --git a/infra/bots/assets/opencl_intel_neo_linux/upload.py b/infra/bots/assets/opencl_intel_neo_linux/upload.py new file mode 100755 index 0000000000..bdfbda783e --- /dev/null +++ b/infra/bots/assets/opencl_intel_neo_linux/upload.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +# +# Copyright 2017 Google Inc. +# +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + + +"""Upload a new version of the asset.""" + + +import common + + +if __name__ == '__main__': + common.run('upload') diff --git a/infra/bots/cfg.json b/infra/bots/cfg.json index ca9442ef62..a4eb77ae76 100644 --- a/infra/bots/cfg.json +++ b/infra/bots/cfg.json @@ -8,6 +8,7 @@ "ASAN", "Coverage", "MSAN", + "OpenCL", "TSAN", "UBSAN", "Valgrind", diff --git a/infra/bots/gen_tasks.go b/infra/bots/gen_tasks.go index dafd403720..53e68db2bd 100644 --- a/infra/bots/gen_tasks.go +++ b/infra/bots/gen_tasks.go @@ -991,6 +991,10 @@ func test(b *specs.TasksCfgBuilder, name string, parts map[string]string, compil recipe := "test" if strings.Contains(name, "SKQP") { recipe = "skqp_test" + } else if strings.Contains(name, "OpenCL") { + // TODO(dogben): Longer term we may not want this to be called a "Test" task, but until we start + // running hs_bench or kx, it will be easier to fit into the current job name schema. + recipe = "compute_test" } extraProps := map[string]string{} iid := internalHardwareLabel(parts) @@ -1291,6 +1295,12 @@ func process(b *specs.TasksCfgBuilder, name string) { pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("linux_vulkan_intel_driver_debug")) } } + if strings.Contains(name, "OpenCL") { + pkgs = append(pkgs, + b.MustGetCipdPackageFromAsset("opencl_ocl_icd_linux"), + b.MustGetCipdPackageFromAsset("opencl_intel_neo_linux"), + ) + } } if strings.Contains(name, "ProcDump") { pkgs = append(pkgs, b.MustGetCipdPackageFromAsset("procdump_win")) diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json index 6d352868ca..d6a3b1977f 100644 --- a/infra/bots/jobs.json +++ b/infra/bots/jobs.json @@ -432,6 +432,7 @@ "Test-Debian9-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Release-All", "Test-Debian9-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Release-All-Vulkan", "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All", + "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL", "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-Vulkan", "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release-All", "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release-All-Vulkan", diff --git a/infra/bots/recipe_modules/flavor/default.py b/infra/bots/recipe_modules/flavor/default.py index 7425bdaf06..b45f489bdf 100644 --- a/infra/bots/recipe_modules/flavor/default.py +++ b/infra/bots/recipe_modules/flavor/default.py @@ -175,6 +175,22 @@ class DefaultFlavor(object): path.append(slave_dir.join('linux_vulkan_sdk', 'bin')) ld_library_path.append(slave_dir.join('linux_vulkan_sdk', 'lib')) + if 'OpenCL' in extra_tokens: + ld_library_path.append(slave_dir.join('opencl_ocl_icd_linux')) + # TODO(dogben): Limit to the appropriate GPUs when we start running on + # GPUs other than IntelIris640. + # Skylake and later use the NEO driver. + neo_path = slave_dir.join('opencl_intel_neo_linux') + ld_library_path.append(neo_path) + # Generate vendors dir contaning the ICD file pointing to the NEO OpenCL + # library. + vendors_dir = self.m.vars.tmp_dir.join('OpenCL', 'vendors') + self.m.file.ensure_directory('mkdirs OpenCL/vendors', vendors_dir) + self.m.file.write_raw('write NEO OpenCL ICD', + vendors_dir.join('neo.icd'), + '%s\n' % neo_path.join('libigdrcl.so')) + env['OPENCL_VENDOR_PATH'] = vendors_dir + if 'SwiftShader' in extra_tokens: ld_library_path.append(self.host_dirs.bin_dir.join('swiftshader_out')) diff --git a/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json new file mode 100644 index 0000000000..0f07c7a605 --- /dev/null +++ b/infra/bots/recipe_modules/flavor/examples/full.expected/Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json @@ -0,0 +1,197 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "rmtree", + "results_dir" + ], + "infra_step": true, + "name": "rmtree results_dir" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "ensure-directory", + "--mode", + "0777", + "results_dir" + ], + "infra_step": true, + "name": "makedirs results_dir" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "rmtree", + "device_results_dir" + ], + "infra_step": true, + "name": "rmtree device_results_dir" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "ensure-directory", + "--mode", + "0777", + "device_results_dir" + ], + "infra_step": true, + "name": "makedirs device_results_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", + "copy", + "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", + "/path/to/tmp/" + ], + "infra_step": true, + "name": "Get skimage VERSION" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "42", + "[START_DIR]/tmp/SK_IMAGE_VERSION" + ], + "infra_step": true, + "name": "write SK_IMAGE_VERSION" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "[START_DIR]/skia/infra/bots/assets/svg/VERSION", + "/path/to/tmp/" + ], + "infra_step": true, + "name": "Get svg VERSION" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "42", + "[START_DIR]/tmp/SVG_VERSION" + ], + "infra_step": true, + "name": "write SVG_VERSION" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "ensure-directory", + "--mode", + "0777", + "[START_DIR]/tmp/OpenCL/vendors" + ], + "infra_step": true, + "name": "mkdirs OpenCL/vendors" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "[START_DIR]/opencl_intel_neo_linux/libigdrcl.so\n", + "[START_DIR]/tmp/OpenCL/vendors/neo.icd" + ], + "infra_step": true, + "name": "write NEO OpenCL ICD" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py", + "[START_DIR]", + "catchsegv", + "[START_DIR]/build/dm", + "--some-flag" + ], + "cwd": "[START_DIR]/skia", + "env": { + "CHROME_HEADLESS": "1", + "LD_LIBRARY_PATH": "[START_DIR]/linux_vulkan_intel_driver_debug:[START_DIR]/opencl_ocl_icd_linux:[START_DIR]/opencl_intel_neo_linux", + "LIBGL_DRIVERS_PATH": "[START_DIR]/linux_vulkan_intel_driver_debug", + "OPENCL_VENDOR_PATH": "[START_DIR]/tmp/OpenCL/vendors", + "PATH": ":RECIPE_PACKAGE_REPO[depot_tools]", + "VK_ICD_FILENAMES": "[START_DIR]/linux_vulkan_intel_driver_debug/intel_icd.x86_64.json" + }, + "name": "symbolized dm" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file diff --git a/infra/bots/recipe_modules/flavor/examples/full.py b/infra/bots/recipe_modules/flavor/examples/full.py index 254384b76a..3c7cd3dd51 100644 --- a/infra/bots/recipe_modules/flavor/examples/full.py +++ b/infra/bots/recipe_modules/flavor/examples/full.py @@ -69,6 +69,7 @@ TEST_BUILDERS = [ 'Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-Coverage', 'Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-TSAN', 'Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader', + 'Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL', 'Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-Vulkan', 'Test-Mac-Clang-MacMini7.1-CPU-AVX-x86_64-Debug-All-ASAN', ('Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All' diff --git a/infra/bots/recipes/compute_test.expected/Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json b/infra/bots/recipes/compute_test.expected/Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json new file mode 100644 index 0000000000..33a0fddce3 --- /dev/null +++ b/infra/bots/recipes/compute_test.expected/Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL.json @@ -0,0 +1,59 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "ensure-directory", + "--mode", + "0777", + "[START_DIR]/tmp/OpenCL/vendors" + ], + "env": { + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_PACKAGE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "mkdirs OpenCL/vendors" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "[START_DIR]/opencl_intel_neo_linux/libigdrcl.so\n", + "[START_DIR]/tmp/OpenCL/vendors/neo.icd" + ], + "env": { + "CHROME_HEADLESS": "1", + "PATH": ":RECIPE_PACKAGE_REPO[depot_tools]" + }, + "infra_step": true, + "name": "write NEO OpenCL ICD" + }, + { + "cmd": [ + "catchsegv", + "[START_DIR]/build/hello-opencl" + ], + "env": { + "CHROME_HEADLESS": "1", + "LD_LIBRARY_PATH": "[START_DIR]/linux_vulkan_intel_driver_debug:[START_DIR]/opencl_ocl_icd_linux:[START_DIR]/opencl_intel_neo_linux", + "LIBGL_DRIVERS_PATH": "[START_DIR]/linux_vulkan_intel_driver_debug", + "OPENCL_VENDOR_PATH": "[START_DIR]/tmp/OpenCL/vendors", + "PATH": ":RECIPE_PACKAGE_REPO[depot_tools]", + "VK_ICD_FILENAMES": "[START_DIR]/linux_vulkan_intel_driver_debug/intel_icd.x86_64.json" + }, + "name": "hello-opencl" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file diff --git a/infra/bots/recipes/compute_test.py b/infra/bots/recipes/compute_test.py new file mode 100644 index 0000000000..cbe1fd277a --- /dev/null +++ b/infra/bots/recipes/compute_test.py @@ -0,0 +1,34 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# Recipe for Skia Swarming compute testing. + +DEPS = [ + 'flavor', + 'recipe_engine/file', + 'recipe_engine/path', + 'recipe_engine/properties', + 'run', + 'vars', +] + +def RunSteps(api): + api.vars.setup() + api.flavor.setup() + + api.run(api.flavor.step, 'hello-opencl', cmd=['hello-opencl']) + + api.run.check_failure() + +def GenTests(api): + builder = ('Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All' + '-OpenCL') + yield ( + api.test(builder) + + api.properties(buildername=builder, + buildbucket_build_id='123454321', + revision='abc123', + path_config='kitchen', + swarm_out_dir='[SWARM_OUT_DIR]') + ) diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json index a5de00c1e3..01a496a229 100644 --- a/infra/bots/tasks.json +++ b/infra/bots/tasks.json @@ -2610,6 +2610,12 @@ "Upload-Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All" ] }, + "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL": { + "priority": 0.8, + "tasks": [ + "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL" + ] + }, "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-Vulkan": { "priority": 0.8, "tasks": [ @@ -53660,6 +53666,133 @@ ], "priority": 0.8 }, + "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL": { + "caches": [ + { + "name": "vpython", + "path": "cache/vpython" + } + ], + "cipd_packages": [ + { + "name": "infra/tools/luci/kitchen/${platform}", + "path": ".", + "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd" + }, + { + "name": "infra/tools/luci-auth/${platform}", + "path": "cipd_bin_packages", + "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c" + }, + { + "name": "infra/tools/luci/vpython/${platform}", + "path": "cipd_bin_packages", + "version": "git_revision:ad60019cb66a75b59991d43b95a43f68e3fff81b" + }, + { + "name": "skia/bots/skimage", + "path": "skimage", + "version": "version:34" + }, + { + "name": "skia/bots/skp", + "path": "skp", + "version": "version:132" + }, + { + "name": "skia/bots/svg", + "path": "svg", + "version": "version:9" + }, + { + "name": "skia/bots/linux_vulkan_intel_driver_debug", + "path": "linux_vulkan_intel_driver_debug", + "version": "version:4" + }, + { + "name": "skia/bots/opencl_ocl_icd_linux", + "path": "opencl_ocl_icd_linux", + "version": "version:0" + }, + { + "name": "skia/bots/opencl_intel_neo_linux", + "path": "opencl_intel_neo_linux", + "version": "version:1" + } + ], + "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", + "compute_test", + "-properties", + "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-OpenCL\",\"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\":\"test\"}", + "-logdog-annotation-url", + "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations" + ], + "dependencies": [ + "Housekeeper-PerCommit-BundleRecipes", + "Build-Debian9-Clang-x86_64-Debug-OpenCL" + ], + "dimensions": [ + "gpu:8086:5926", + "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": 14400000000000, + "expiration_ns": 72000000000000, + "extra_tags": { + "log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations" + }, + "io_timeout_ns": 14400000000000, + "isolate": "test_skia_bundled.isolate", + "max_attempts": 1, + "outputs": [ + "test" + ], + "priority": 0.8 + }, "Test-Debian9-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-Vulkan": { "caches": [ { -- cgit v1.2.3