dwehr's picture
Migrate action viewer to local Cosmos generation
9f818c5
Raw
History Blame Contribute Delete
1.98 kB
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: OpenMDW-1.1
"""User-facing torch.compile knobs for VFM and VLM training paths."""
import attrs
@attrs.define(slots=False)
class CompileConfig:
# Master torch.compile switch. When False, all other CompileConfig fields
# are inert.
enabled: bool = False
# Whether the entire Cosmos3 VFM network is compiled, or only a specific region is compiled.
# Use "language" to compile only individual layers in the MOT model.
# Use "all" to compile the the MOT model, as well as encode/decode functions.
compiled_region: str = attrs.field(
default="language",
validator=attrs.validators.in_({"all", "language"}),
)
# Whether torch.compile should generate symbolic-shape (dynamic) kernels
# (maps to ``torch.compile(dynamic=...)``). Defaults to True for training,
# which sees varying shapes across batches (sequence length, CP sharding, ...);
# specializing would recompile continuously. See ParallelismOverrides in
# cosmos_framework/inference/common/args.py for the inference-side rationale
# (where dynamic=False is preferred for stable AR shapes).
compile_dynamic: bool = True
# Whether to use CUDA graphs for faster inference. This option does not work during training.
use_cuda_graphs: bool = False
# Enable autotuning for pointwise/reduction Triton kernels (e.g. RMSNorm).
# Explores 6 candidate configs instead of the default 1, improving kernel performance
# at the cost of longer first-iteration compilation time.
max_autotune_pointwise: bool = False
# Enable coordinate descent tuning after autotuning. Starts from the best autotuned
# config and explores nearby configs by adjusting one parameter at a time.
# Requires max_autotune_pointwise=True to have effect on reduction kernels.
coordinate_descent_tuning: bool = False