YAML Configuration#

The resources to benchmark can be configured in the SkyPilot YAML interface. Below we provide an example:

# Only shows `resources` as other fields do not change.
resources:
    cloud: gcp  # Works as a default value for `cloud`.

    # Added only for SkyPilot Benchmark.
    candidates:
    - {accelerators: A100}
    - {accelerators: V100, instance_type: n1-highmem-16}
    - {accelerators: T4, cloud: aws}  # Overrides `cloud` to `aws`.

For SkyPilot Benchmark, candidates is newly added under the resources field. candidates is the list of dictionaries that configure the resources to benchmark. Any subfield of resources (accelerators, instance_type, etc.) can be re-defined in the dictionaries. Subfields defined outside candidates (e.g. cloud in this example) are used as default values and are overriden by those defined in the dictionaries. Thus, the above example can be interpreted as follows:

# Configuration of the first candidate.
resources:
    cloud: gcp
    accelerators: A100

# Configuration of the second candidate.
resources:
    cloud: gcp
    accelerators: V100
    instance_type: n1-highmem-16

# Configuration of the third candidate.
resources:
    cloud: aws
    accelerators: T4

Note

Currently, SkyPilot Benchmark does not support on-prem jobs and managed spot jobs. While you can set use_spot: True to benchmark spot VMs, automatic recovery will not be provided when preemption occurs.