Skip to main content

Configuration

SuperBench config#

SuperBench uses a YAML config file to configure the details of benchmarkings, including which benchmark to run, which distributing mode to choose, which parameter to use, etc.

Here's the default config file. By default, all benchmarks in default configuration will be run if you don't specify customized configuration.

If you want to have a quick try, you can modify this config a little bit. For example, only run resnet101 model.

  1. copy the default config to a file named resnet.yaml in current path.
    cp superbench/config/default.yaml resnet.yaml
  2. enable only resnet_models in the config and remove other models except resnet101 under benchmarks.resnet_models.models.
    resnet.yaml
    # SuperBench Configsuperbench:  enable: ['resnet_models']  var:# ...# omit the middle part# ...    resnet_models:      <<: *default_pytorch_mode      models:        - resnet101      parameters:        <<: *common_model_config        batch_size: 128

Ansible Inventory#

SuperBench leverages Ansible to run benchmarking workloads on managed nodes, you need to provide an inventory file to configure host list for managed nodes.

Here're some basic examples as your starting point.

  • One managed node, same node as control node.

    local.ini
    [all]localhost ansible_connection=local
  • Two managed nodes, one is control node and the other can be remote accessed.

    mix.ini
    [all]localhost ansible_connection=local10.0.0.100 ansible_user=username ansible_ssh_private_key_file=id_rsa
  • Eight managed nodes, all can be accessed remotely.

    remote.ini
    [all]10.0.0.[100:103]10.0.0.[200:203]
    [all:vars]ansible_user=usernameansible_ssh_private_key_file=id_rsa