# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. """Megatron global variables.""" import os import sys import torch _GLOBAL_ARGS = None def get_args(): """Return arguments.""" _ensure_var_is_initialized(_GLOBAL_ARGS, 'args') return _GLOBAL_ARGS def set_global_variables(args): """Set args, tokenizer, tensorboard-writer, adlr-autoresume, and timers.""" assert args is not None _ensure_var_is_not_initialized(_GLOBAL_ARGS, 'args') set_args(args) def set_args(args): global _GLOBAL_ARGS _GLOBAL_ARGS = args def _ensure_var_is_initialized(var, name): """Make sure the input variable is not None.""" assert var is not None, '{} is not initialized.'.format(name) def _ensure_var_is_not_initialized(var, name): """Make sure the input variable is not None.""" assert var is None, '{} is already initialized.'.format(name)