code: def _collect_info_from_multinode(self, comm, _d_ndarray):
      load_var = nn.Variable(
          [
              len(_d_ndarray),
          ]
      )
      load_var.d = _d_ndarray
      load_list_var = [
          nn.Variable(
              [
                  len(_d_ndarray),
              ]
          )
          for _ in range(comm.size)
      ]
      comm.all_gather(load_var.data, [a.data for a in load_list_var])
  
      return load_list_var
  
imports: import os
  import re
  import timeit
  from contextlib import contextmanager
  import nnabla
  import nnabla.utils.callback
  import numpy
  from nnabla.config import nnabla_config
  from nnabla.logger import logger
  from nnabla.utils import nnabla_pb2
  from nnabla.utils.communicator_util import current_communicator
  from nnabla.utils.get_file_handle import get_file_handle_save, get_decorated_file_loader, load_files
  from contextlib import contextmanager
  import nnabla.logger
  from nnabla.lms import SwapInOutScheduler
label_desc: Use image node_id 4 for calling the NodeTimeInfoCollector obj's underlying member method code with example usage: obj._collect_info_from_multinode(comm, _d_ndarray) and returns: load_list_var