code: def range_start(msg) -> int:
      """
      Mark the start of a range with string message. It returns an unique handle
      for this range to pass to the corresponding call to rangeEnd().
  
      A key difference between this and range_push/range_pop is that the
      range_start/range_end version supports range across threads (start on one
      thread and end on another thread).
  
      Returns: A range handle (uint64_t) that can be passed to range_end().
  
      Args:
          msg (str): ASCII message to associate with the range.
      """
      return _nvtx.rangeStartA(msg)
  
imports: from contextlib import contextmanager
label_desc: Use image node_id 3 for calling a global function with example usage: range_start(msg) and returns: _nvtx