nemo_rl.algorithms.metric_utils#

Module Contents#

Classes#

SetupTimingMetrics

Driver-side per-phase timings collected during setup.

Functions#

print_setup_timing_summary

Print the setup-phase summary block.

API#

class nemo_rl.algorithms.metric_utils.SetupTimingMetrics[source]#

Driver-side per-phase timings collected during setup.

vllm_init_time_s: Optional[float]#

None

sglang_init_time_s: Optional[float]#

None

trtllm_init_time_s: Optional[float]#

None

megatron_generation_init_time_s: Optional[float]#

None

generation_init_time_s: Optional[float]#

None

generation_init_reserve_time_s: Optional[float]#

None

generation_init_load_time_s: Optional[float]#

None

policy_init_time_s: Optional[float]#

None

nemo_gym_init_time_s: Optional[float]#

None

collective_init_time_s: Optional[float]#

None

parallel_wall_time_s: Optional[float]#

None

parallel_init_enabled: Optional[float]#

None

teacher_reservation_time_s: Optional[float]#

None

teacher_model_init_time_s: Optional[float]#

None

teacher_init_time_s: Optional[float]#

None

vllm_checkpoint_engine_init_time_s: Optional[float]#

None

total_setup_time_s: Optional[float]#

None

worker_setup_time_s: Optional[float]#

None

other_setup_time_s: Optional[float]#

None

extras: dict[str, float]#

‘field(…)’

to_metrics_dict() dict[str, Any][source]#

Serialize for Logger.log_metrics; drops unset (None) fields.

nemo_rl.algorithms.metric_utils.print_setup_timing_summary(
metrics: nemo_rl.algorithms.metric_utils.SetupTimingMetrics,
gen_init_time_key: Optional[str] = None,
) None[source]#

Print the setup-phase summary block.

Parameters:
  • metrics – Populated timing metrics.

  • gen_init_time_key – grpo.py passes the backend-specific field name (e.g. “vllm_init_time_s”); SC leaves it None and the summary reads generation_init_time_s (+ optional reserve/load split).