CloudAI Benchmark Framework v1.5.0

Reporting

This document describes the reporting system in CloudAI.

CloudAI has two reporting levels:

  • per-test (per each case in a test scenario)

  • per-scenario (per each test scenario)

All reports are generated after the test scenario is completed as part of the main CloudAI process. For Slurm this means that the login node is used to generate reports.

Per-test reports are linked to a particular workload type (e.g. NcclTest). All per-test reports are implemented as part of the per_test scenario report and can be enabled or disabled via a single configuration option; see Enable, Disable and Configure Reports.

To list all available reports, users can use cloudai list-reports. Use verbose output to also print report configurations.

  1. All reports should be registered via Registry() (.add_report() or .add_scenario_report()).

  2. Scenario reports are configurable via system config (Slurm-only for now) and scenario config.

  3. Configuration in a scenario config has the highest priority. Next, system config is checked. Then it defaults to report config from the registry.

  4. Then the report is generated (or not) according to this final config.

Note

Only scenario-level reports can be configured.

To enable or disable a report, users need to do it via system configuration:

Copy
Copied!
            

[reports] per_test = { enable = false } status = { enable = true }

Report registration is done via Registry class:

Copy
Copied!
            

Registry().add_scenario_report("per_test", PerTestReporter, ReportConfig(enable=True))

Each report can define its own configuration, which is constructed and passed as an argument to Registry.add_scenario_report. The reports field is parsed during TOML reading and the respective Pydantic model is created.

For example, we can define a custom report configuration:

Copy
Copied!
            

class CustomReportConfig(ReportConfig): greeting: str

Copy
Copied!
            

Registry().add_scenario_report("custom", CustomReport, CustomReportConfig(greeting="default value"))

And use it in a test scenario:

Copy
Copied!
            

[reports] custom = { enable = true, greeting = "Hello, world!" }

Previous CloudAI User Guide
Next Development
© Copyright 2026, NVIDIA CORPORATION & AFFILIATES. Last updated on Mar 3, 2026