class_docstr: A timer class that supports multiple named timers.
  A named timer can be used multiple times, in which case the average
  dt will be returned.
  A named timer cannot be started if it is already currently running.
  Use case: measuring execution of multiple code blocks.
docstr: Starts measuring a named timer.
  
  Args:
      name (str): timer name to start
docstr_tok: ["Starts","measuring","a","named","timer",".","Args",":","name","(","str",")",":","timer","name","to","start"]
code: def start(self, name=""):
      """
      Starts measuring a named timer.
  
      Args:
          name (str): timer name to start
      """
      timer_data = self.timers.get(name, {})
  
      if "start" in timer_data:
          raise RuntimeError(
              f"Cannot start timer = '{name}' since it is already active"
          )
  
      # synchronize pytorch cuda execution if supported
      if self._sync_cuda and torch.cuda.is_initialized():
          torch.cuda.synchronize()
  
      timer_data["start"] = time.time()
  
      self.timers[name] = timer_data
  
file_path: NeMo/nemo/utils/timers.py
imports: import time
  import numpy
  import torch
label_desc: Use image node_id 6 for calling the NamedTimer obj's underlying member method code with example usage: obj.start(name) without return types