class_docstr: The main entry point for running the entire benchmark.  Mostly just
  dispatches to other classes.
class_docstr_tok: ["The","main","entry","point","for","running","the","entire","benchmark",".","Mostly","just","dispatches","to","other","classes","."]
code: def run_all(self, run_specs: List[RunSpec]):
      failed_run_specs: List[RunSpec] = []
  
      for run_spec in tqdm(run_specs, disable=None):
          try:
              with htrack_block(f"Running {run_spec.name}"):
                  self.run_one(run_spec)
          except Exception as e:
              if self.exit_on_error:
                  raise e
              else:
                  hlog(
                      f"Error when running {run_spec.name}:\n{traceback.format_exc()}"
                  )
                  failed_run_specs.append(run_spec)
      if not self.exit_on_error and failed_run_specs:
          failed_runs_str = ", ".join(
              [f'"{run_spec.name}"' for run_spec in failed_run_specs]
          )
          raise RunnerError(f"Failed runs: [{failed_runs_str}]")
  
imports: import dacite
  import json
  import os
  import traceback
  import typing
  from collections import Counter
  from dataclasses import dataclass, field
  from typing import Any, Dict, List
  from tqdm import tqdm
  from helm.common.general import ensure_directory_exists, write, asdict_without_nones
  from helm.common.hierarchical_logger import hlog, htrack_block
  from helm.common.cache import cache_stats
  from .augmentations.data_augmenter import DataAugmenterSpec
  from .scenarios.scenario import Scenario, ScenarioSpec, create_scenario, Instance, with_instance_ids
  from .adaptation.adapters.adapter import Adapter
  from .adaptation.adapters.adapter_factory import AdapterFactory
  from .adaptation.scenario_state import ScenarioState
  from .adaptation.adapter_spec import AdapterSpec
  from .data_preprocessor import DataPreprocessor
  from .executor import ExecutionSpec, Executor
  from .metrics.dry_run_metrics import DryRunMetric
  from .metrics.metric_name import MetricName
  from .metrics.metric_service import MetricService
  from .metrics.metric import Metric, MetricSpec, MetricResult, PerInstanceStats, create_metric, Stat
  from .window_services.tokenizer_service import TokenizerService
label_desc: Use image node_id 2 for calling the Runner obj's underlying member method code with example usage: obj.run_all(run_specs) without return types