Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions megatron/training/arguments.py
Original file line number Diff line number Diff line change
Expand Up @@ -2013,6 +2013,11 @@ def _add_ft_package_args(parser):
group.add_argument('--calc-ft-timeouts', action='store_true',
help='If set, FT package will try to automatically compute the timeouts. '
'Note: This feature is for Nvidia internal use only.')
group.add_argument('--ft-num-warmup-iters', type=int, default=5,
help='Number of warmup iterations before monitoring step section and '
'out-of-section timeouts. The first N iterations are excluded from '
'timeout monitoring as they can be significantly slower than steady-state. '
'Default: 5. Note: This feature is for Nvidia internal use only.')
return parser


Expand Down
7 changes: 5 additions & 2 deletions megatron/training/ft_integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
_seen_tr_iters_cnt = 0
_curr_eval_iter_idx = 0

_NUM_WARMUP_ITERS = 1
_NUM_WARMUP_ITERS = 1 # Will be set by --ft-num-warmup-iters (default: 5)
_MIN_ITERS_FOR_STEP_TIMEOUT_UPDATE = 16


Expand Down Expand Up @@ -105,7 +105,10 @@ def setup() -> None:
global _is_calculating_timeouts
_is_calculating_timeouts = args.calc_ft_timeouts

cli.init_workload_monitoring()
global _NUM_WARMUP_ITERS
_NUM_WARMUP_ITERS = args.ft_num_warmup_iters

cli.init_workload_monitoring(num_warmup_iters=_NUM_WARMUP_ITERS)
_load_state_if_exists()
if os.environ.get("RANK") == "0":
print(f"FT: initialized. Timeouts={cli.section_timeouts}", flush=True)
Expand Down
Loading