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.
- copy the default config to a file named
resnet.yamlin current path.cp superbench/config/default.yaml resnet.yaml - enable only
resnet_modelsin the config and remove other models except resnet101 underbenchmarks.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=localTwo 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_rsaEight 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