code: def main(cfg) -> None:
      logging.info(
          "\n\n************** Experiment configuration ***********"
      )
      logging.info(f"\n{OmegaConf.to_yaml(cfg)}")
  
      trainer = None
      if cfg.trainer.precision in [16, "16", "16-mixed"]:
          trainer = Trainer(
              plugins=[
                  NLPMixedPrecisionPlugin(
                      init_scale=cfg.model.get(
                          "native_amp_init_scale", 2**32
                      ),
                      growth_interval=cfg.model.get(
                          "native_amp_growth_interval", 1000
                      ),
                  ),
              ],
              strategy=NLPDDPStrategy(),
              **cfg.trainer,
          )
      elif cfg.trainer.precision in ["bf16", "bf16-mixed"]:
          trainer = Trainer(
              plugins=[
                  NLPNativeBfloat16PrecisionPlugin(),
              ],
              strategy=NLPDDPStrategy(),
              **cfg.trainer,
          )
      else:
          trainer = Trainer(
              plugins=[NLPPrecisionPlugin()],
              strategy=NLPDDPStrategy(),
              **cfg.trainer,
          )
  
      app_state = AppState()
      app_state.model_parallel_size = (
          cfg.model.tensor_model_parallel_size
      )
      app_state.model_parallel_rank = compute_model_parallel_rank(
          trainer.local_rank, app_state.model_parallel_size
      )
  
      model = MegatronGPTModel.restore_from(
          cfg.restore_from_path,
          trainer=trainer,
          save_restore_connector=NLPSaveRestoreConnector(),
      )
  
      # Note: most nemo models must have the data paths configured before instantiating the model
      # MegatronGPTMOdel sets up the data in the PTL method .setup which happens after DDP spawns.
      model.cfg.data.splits_string = cfg.model.data.splits_string
  
      trainer.test(model)
  
file_path: NeMo/examples/nlp/language_modeling/megatron_gpt_test.py
imports: from omegaconf.omegaconf import OmegaConf
  from pytorch_lightning import Trainer
  from nemo.collections.nlp.models.language_modeling.megatron_gpt_model import MegatronGPTModel
  from nemo.collections.nlp.modules.common.megatron.megatron_utils import compute_model_parallel_rank
  from nemo.collections.nlp.parts.nlp_overrides import NLPDDPStrategy, NLPMixedPrecisionPlugin, NLPPrecisionPlugin, NLPSaveRestoreConnector
  from nemo.core.config import hydra_runner
  from nemo.utils import logging
  from nemo.utils.app_state import AppState
label_desc: Use image node_id 1 for calling a global function with example usage: main(cfg) without return types