blob: 0f2e0185f144f3476ebce1ee93f58e2ae66ba393 [file] [log] [blame]
// Copyright 2023 Google LLC
//
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package configs
// DeviceSpecificBazelConfig represents a Bazel config that communicates information about the
// device under test to GM and benchmark tests.
//
// This struct is used to generate file //bazel/configs/devicesrc.
//
// Configurations of this kind should not be used to set build time settings, such as the target
// Bazel platform (e.g. Linux, Android), optimization level (e.g. Debug, Release) or local vs. RBE.
// For that kind of information, please pass a second --config flag using one of the configurations
// defined in //bazel/buildrc.
type DeviceSpecificBazelConfig struct {
// Name of the config (the <foo> that gets passed to Bazel via --config=<foo>).
Name string
// Any device-specific key/value pairs to include in Gold and Perf traces produced by GM and
// benchmark tests, except for keys "cpu_or_gpu" and "cpu_or_gpu_value". See fields CPU and GPU.
Keys map[string]string
// CPU is the name of the CPU on this device.
//
// When a GM or benchmark test case is executed, the corresponding test runner will set the
// "cpu_or_gpu_value" key of the resulting Gold or Perf trace with the contents of this field
// if the test case is CPU-bound, in which case it will also set the "cpu_or_gpu" key to "CPU".
CPU string
// GPU is the name of the GPU on this device.
//
// This field is the GPU analogous of the CPU field; see its documentation for details.
GPU string
// SwarmingDimensions are the Swarming dimensions that a CI task must exhibit in order to get
// scheduled to run on a machine that corresponds with the device under test indicated by the
// Bazel config.
SwarmingDimensions map[string]string
}
// DeviceSpecificBazelConfigs contains all known device-specific Bazel configs.
//
// The contents of this map are used to generate file //bazel/configs/devicesrc.
//
// TODO(lovisolo): Populate field SwarmingDimensions for all configs.
var DeviceSpecificBazelConfigs = map[string]DeviceSpecificBazelConfig{
"AlphaR2": {
Name: "AlphaR2",
Keys: map[string]string{
"arch": "x86_64",
"model": "AlphaR2",
"os": "Win10",
},
GPU: "RadeonR9M470X",
},
"AndroidOne": {
Name: "AndroidOne",
Keys: map[string]string{
"arch": "arm",
"model": "AndroidOne",
"os": "Android",
},
GPU: "Mali400MP2",
},
"GCE_Debian10_AVX2": {
Name: "GCE_Debian10_AVX2",
Keys: map[string]string{
"arch": "x86_64",
"model": "GCE",
"os": "Debian10",
},
CPU: "AVX2",
GPU: "SwiftShader",
},
"GCE_Debian10_AVX512": {
Name: "GCE_Debian10_AVX512",
Keys: map[string]string{
"arch": "x86_64",
"model": "GCE",
"os": "Debian10",
},
CPU: "AVX512",
GPU: "SwiftShader",
},
"GCE_Debian10_Rome": {
Name: "GCE_Debian10_Rome",
Keys: map[string]string{
"arch": "x86_64",
"model": "GCE",
"os": "Debian10",
},
CPU: "Rome",
GPU: "SwiftShader",
},
"GCE_Win2019_AVX2": {
Name: "GCE_Win2019_AVX2",
Keys: map[string]string{
"arch": "x86_64",
"model": "GCE",
"os": "Win2019",
},
CPU: "AVX2",
GPU: "SwiftShader",
},
"GCE_Win2019_AVX512": {
Name: "GCE_Win2019_AVX512",
Keys: map[string]string{
"arch": "x86_64",
"model": "GCE",
"os": "Win2019",
},
CPU: "AVX512",
GPU: "SwiftShader",
},
"GCE_Win2019_Rome": {
Name: "GCE_Win2019_Rome",
Keys: map[string]string{
"arch": "x86_64",
"model": "GCE",
"os": "Win2019",
},
CPU: "Rome",
GPU: "SwiftShader",
},
"GCE_x86_Debian10_AVX2": {
Name: "GCE_x86_Debian10_AVX2",
Keys: map[string]string{
"arch": "x86",
"model": "GCE",
"os": "Debian10",
},
CPU: "AVX2",
GPU: "SwiftShader",
},
"GCE_x86_Debian10_AVX512": {
Name: "GCE_x86_Debian10_AVX512",
Keys: map[string]string{
"arch": "x86",
"model": "GCE",
"os": "Debian10",
},
CPU: "AVX512",
GPU: "SwiftShader",
},
"GCE_x86_Debian10_Rome": {
Name: "GCE_x86_Debian10_Rome",
Keys: map[string]string{
"arch": "x86",
"model": "GCE",
"os": "Debian10",
},
CPU: "Rome",
GPU: "SwiftShader",
},
"GCE_x86_Win2019_AVX2": {
Name: "GCE_x86_Win2019_AVX2",
Keys: map[string]string{
"arch": "x86",
"model": "GCE",
"os": "Win2019",
},
CPU: "AVX2",
GPU: "SwiftShader",
},
"GCE_x86_Win2019_AVX512": {
Name: "GCE_x86_Win2019_AVX512",
Keys: map[string]string{
"arch": "x86",
"model": "GCE",
"os": "Win2019",
},
CPU: "AVX512",
GPU: "SwiftShader",
},
"GCE_x86_Win2019_Rome": {
Name: "GCE_x86_Win2019_Rome",
Keys: map[string]string{
"arch": "x86",
"model": "GCE",
"os": "Win2019",
},
CPU: "Rome",
GPU: "SwiftShader",
},
"GalaxyS20": {
Name: "GalaxyS20",
Keys: map[string]string{
"arch": "arm64",
"model": "GalaxyS20",
"os": "Android",
},
GPU: "MaliG77",
},
"GalaxyS7_G930FD": {
Name: "GalaxyS7_G930FD",
Keys: map[string]string{
"arch": "arm64",
"model": "GalaxyS7_G930FD",
"os": "Android",
},
GPU: "MaliT880",
},
"GalaxyS9": {
Name: "GalaxyS9",
Keys: map[string]string{
"arch": "arm64",
"model": "GalaxyS9",
"os": "Android",
},
GPU: "MaliG72",
},
"Golo_wasm_Ubuntu18": {
Name: "Golo_wasm_Ubuntu18",
Keys: map[string]string{
"arch": "wasm",
"model": "Golo",
"os": "Ubuntu18",
},
GPU: "QuadroP400",
},
"Golo_wasm_Win10": {
Name: "Golo_wasm_Win10",
Keys: map[string]string{
"arch": "wasm",
"model": "Golo",
"os": "Win10",
},
GPU: "QuadroP400",
},
"Golo_x86_64_Ubuntu18": {
Name: "Golo_x86_64_Ubuntu18",
Keys: map[string]string{
"arch": "x86_64",
"model": "Golo",
"os": "Ubuntu18",
},
GPU: "QuadroP400",
},
"Golo_x86_64_Win10": {
Name: "Golo_x86_64_Win10",
Keys: map[string]string{
"arch": "x86_64",
"model": "Golo",
"os": "Win10",
},
GPU: "QuadroP400",
},
"JioNext": {
Name: "JioNext",
Keys: map[string]string{
"arch": "arm",
"model": "JioNext",
"os": "Android",
},
CPU: "SnapdragonQM215",
GPU: "Adreno308",
},
"Kevin": {
Name: "Kevin",
Keys: map[string]string{
"arch": "arm",
"model": "Kevin",
"os": "ChromeOS",
},
GPU: "MaliT860",
},
"MacBook10.1": {
Name: "MacBook10.1",
Keys: map[string]string{
"arch": "x86_64",
"model": "MacBook10.1",
"os": "Mac10.13",
},
GPU: "IntelHD615",
},
"MacBookAir7.2": {
Name: "MacBookAir7.2",
Keys: map[string]string{
"arch": "x86_64",
"model": "MacBookAir7.2",
"os": "Mac10.15.1",
},
GPU: "IntelHD6000",
},
"MacBookPro11.5_Mac10.13": {
Name: "MacBookPro11.5_Mac10.13",
Keys: map[string]string{
"arch": "x86_64",
"model": "MacBookPro11.5",
"os": "Mac10.13",
},
CPU: "AVX2",
GPU: "RadeonHD8870M",
},
"MacBookPro11.5_Mac10.15.7": {
Name: "MacBookPro11.5_Mac10.15.7",
Keys: map[string]string{
"arch": "x86_64",
"model": "MacBookPro11.5",
"os": "Mac10.15.7",
},
CPU: "AVX2",
GPU: "RadeonHD8870M",
},
"MacBookPro16.2": {
Name: "MacBookPro16.2",
Keys: map[string]string{
"arch": "x86_64",
"model": "MacBookPro16.2",
"os": "Mac12",
},
CPU: "AppleIntel",
GPU: "IntelIrisPlus",
},
"MacMini7.1_Mac10.13": {
Name: "MacMini7.1_Mac10.13",
Keys: map[string]string{
"arch": "x86_64",
"model": "MacMini7.1",
"os": "Mac10.13",
},
CPU: "AVX2",
GPU: "IntelIris5100",
},
"MacMini7.1_Mac10.14": {
Name: "MacMini7.1_Mac10.14",
Keys: map[string]string{
"arch": "x86_64",
"model": "MacMini7.1",
"os": "Mac10.14",
},
CPU: "AVX2",
GPU: "IntelIris5100",
},
"MacMini7.1_Mac10.15.7": {
Name: "MacMini7.1_Mac10.15.7",
Keys: map[string]string{
"arch": "x86_64",
"model": "MacMini7.1",
"os": "Mac10.15.7",
},
CPU: "AVX2",
GPU: "IntelIris5100",
},
"MacMini9.1_Mac11": {
Name: "MacMini9.1_Mac11",
Keys: map[string]string{
"arch": "arm64",
"model": "MacMini9.1",
"os": "Mac11",
},
CPU: "AppleM1",
GPU: "AppleM1",
},
"MacMini9.1_Mac12": {
Name: "MacMini9.1_Mac12",
Keys: map[string]string{
"arch": "arm64",
"model": "MacMini9.1",
"os": "Mac12",
},
CPU: "AppleM1",
GPU: "AppleM1",
},
"MacMini9.1_Mac13": {
Name: "MacMini9.1_Mac13",
Keys: map[string]string{
"arch": "arm64",
"model": "MacMini9.1",
"os": "Mac13",
},
CPU: "AppleM1",
GPU: "AppleM1",
},
"NUC11TZi5_Debian11": {
Name: "NUC11TZi5_Debian11",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUC11TZi5",
"os": "Debian11",
},
CPU: "AVX2",
GPU: "IntelIrisXe",
},
"NUC11TZi5_Win10": {
Name: "NUC11TZi5_Win10",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUC11TZi5",
"os": "Win10",
},
CPU: "AVX2",
GPU: "IntelIrisXe",
},
"NUC5PPYH": {
Name: "NUC5PPYH",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUC5PPYH",
"os": "Debian10",
},
GPU: "IntelHD405",
},
"NUC5i7RYH": {
Name: "NUC5i7RYH",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUC5i7RYH",
"os": "Win10",
},
CPU: "AVX2",
GPU: "IntelIris6100",
},
"NUC6i5SYK": {
Name: "NUC6i5SYK",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUC6i5SYK",
"os": "Win10",
},
GPU: "IntelIris540",
},
"NUC8i5BEK": {
Name: "NUC8i5BEK",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUC8i5BEK",
"os": "Win10",
},
GPU: "IntelIris655",
},
"NUC9i7QN_Debian11": {
Name: "NUC9i7QN_Debian11",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUC9i7QN",
"os": "Debian11",
},
CPU: "AVX2",
GPU: "RTX3060",
},
"NUC9i7QN_Win10": {
Name: "NUC9i7QN_Win10",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUC9i7QN",
"os": "Win10",
},
CPU: "AVX2",
GPU: "RTX3060",
},
"NUCD34010WYKH": {
Name: "NUCD34010WYKH",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUCD34010WYKH",
"os": "Win10",
},
GPU: "IntelHD4400",
},
"NUCDE3815TYKHE": {
Name: "NUCDE3815TYKHE",
Keys: map[string]string{
"arch": "x86_64",
"model": "NUCDE3815TYKHE",
"os": "Debian10",
},
GPU: "IntelBayTrail",
},
"Nexus7": {
Name: "Nexus7",
Keys: map[string]string{
"arch": "arm",
"model": "Nexus7",
"os": "Android",
},
GPU: "Tegra3",
},
"P30": {
Name: "P30",
Keys: map[string]string{
"arch": "arm64",
"model": "P30",
"os": "Android",
},
GPU: "MaliG76",
},
"Pixel2XL": {
Name: "Pixel2XL",
Keys: map[string]string{
"arch": "arm64",
"model": "Pixel2XL",
"os": "Android",
},
GPU: "Adreno540",
},
"Pixel3": {
Name: "Pixel3",
Keys: map[string]string{
"arch": "arm64",
"model": "Pixel3",
"os": "Android",
},
GPU: "Adreno630",
},
"Pixel4": {
Name: "Pixel4",
Keys: map[string]string{
"arch": "arm64",
"model": "Pixel4",
"os": "Android",
},
CPU: "Snapdragon855",
GPU: "Adreno640",
},
"Pixel4XL": {
Name: "Pixel4XL",
Keys: map[string]string{
"arch": "arm64",
"model": "Pixel4XL",
"os": "Android",
},
GPU: "Adreno640",
},
"Pixel5": {
Name: "Pixel5",
Keys: map[string]string{
"arch": "arm64",
"model": "Pixel5",
"os": "Android",
},
GPU: "Adreno620",
},
"Pixel5_Android12": {
Name: "Pixel5_Android12",
Keys: map[string]string{
"arch": "arm64",
"model": "Pixel5",
"os": "Android12",
},
GPU: "Adreno620",
},
"Pixel6": {
Name: "Pixel6",
Keys: map[string]string{
"arch": "arm64",
"model": "Pixel6",
"os": "Android",
},
GPU: "MaliG78",
},
"Pixel7": {
Name: "Pixel7",
Keys: map[string]string{
"arch": "arm64",
"model": "Pixel7",
"os": "Android",
},
GPU: "MaliG710",
},
"RUBYR5_Debian11": {
Name: "RUBYR5_Debian11",
Keys: map[string]string{
"arch": "x86_64",
"model": "RUBYR5",
"os": "Debian11",
},
GPU: "RadeonVega6",
},
"RUBYR5_Win10": {
Name: "RUBYR5_Win10",
Keys: map[string]string{
"arch": "x86_64",
"model": "RUBYR5",
"os": "Win10",
},
GPU: "RadeonVega6",
},
"ShuttleA_Debian10_GTX660": {
Name: "ShuttleA_Debian10_GTX660",
Keys: map[string]string{
"arch": "x86_64",
"model": "ShuttleA",
"os": "Debian10",
},
GPU: "GTX660",
},
"ShuttleA_Debian10_IntelHD2000": {
Name: "ShuttleA_Debian10_IntelHD2000",
Keys: map[string]string{
"arch": "x86_64",
"model": "ShuttleA",
"os": "Debian10",
},
GPU: "IntelHD2000",
},
"ShuttleA_Debian10_RadeonHD7770": {
Name: "ShuttleA_Debian10_RadeonHD7770",
Keys: map[string]string{
"arch": "x86_64",
"model": "ShuttleA",
"os": "Debian10",
},
GPU: "RadeonHD7770",
},
"ShuttleA_Win10_GTX660": {
Name: "ShuttleA_Win10_GTX660",
Keys: map[string]string{
"arch": "x86_64",
"model": "ShuttleA",
"os": "Win10",
},
GPU: "GTX660",
},
"ShuttleA_Win10_IntelHD2000": {
Name: "ShuttleA_Win10_IntelHD2000",
Keys: map[string]string{
"arch": "x86_64",
"model": "ShuttleA",
"os": "Win10",
},
GPU: "IntelHD2000",
},
"ShuttleA_Win10_RadeonHD7770": {
Name: "ShuttleA_Win10_RadeonHD7770",
Keys: map[string]string{
"arch": "x86_64",
"model": "ShuttleA",
"os": "Win10",
},
GPU: "RadeonHD7770",
},
"ShuttleC": {
Name: "ShuttleC",
Keys: map[string]string{
"arch": "x86_64",
"model": "ShuttleC",
"os": "Win10",
},
GPU: "GTX960",
},
"Sparky360": {
Name: "Sparky360",
Keys: map[string]string{
"arch": "x86_64",
"model": "Sparky360",
"os": "ChromeOS",
},
GPU: "IntelUHDGraphics605",
},
"Spin513": {
Name: "Spin513",
Keys: map[string]string{
"arch": "arm",
"model": "Spin513",
"os": "ChromeOS",
},
GPU: "Adreno618",
},
"Spin514": {
Name: "Spin514",
Keys: map[string]string{
"arch": "x86_64",
"model": "Spin514",
"os": "ChromeOS",
},
GPU: "RadeonVega3",
},
"VMware7.1_Mac10.13": {
Name: "VMware7.1_Mac10.13",
Keys: map[string]string{
"arch": "x86_64",
"model": "VMware7.1",
"os": "Mac10.13",
},
CPU: "AVX",
},
"VMware7.1_Mac10.14": {
Name: "VMware7.1_Mac10.14",
Keys: map[string]string{
"arch": "x86_64",
"model": "VMware7.1",
"os": "Mac10.14",
},
CPU: "AVX",
},
"VMware7.1_Mac10.15.7": {
Name: "VMware7.1_Mac10.15.7",
Keys: map[string]string{
"arch": "x86_64",
"model": "VMware7.1",
"os": "Mac10.15.7",
},
CPU: "AVX",
},
"Wembley": {
Name: "Wembley",
Keys: map[string]string{
"arch": "arm",
"model": "Wembley",
"os": "Android",
},
GPU: "PowerVRGE8320",
},
"iPadPro": {
Name: "iPadPro",
Keys: map[string]string{
"arch": "arm64",
"model": "iPadPro",
"os": "iOS",
},
GPU: "PowerVRGT7800",
},
"iPhone11": {
Name: "iPhone11",
Keys: map[string]string{
"arch": "arm64",
"model": "iPhone11",
"os": "iOS",
},
GPU: "AppleA13",
},
"iPhone7": {
Name: "iPhone7",
Keys: map[string]string{
"arch": "arm64",
"model": "iPhone7",
"os": "iOS",
},
GPU: "PowerVRGT7600",
},
"iPhone8": {
Name: "iPhone8",
Keys: map[string]string{
"arch": "arm64",
"model": "iPhone8",
"os": "iOS",
},
GPU: "AppleA11",
},
}