code: def get_sum(hdf5_file, path, array_out, out_lock, rows_slice):
      
      
      Worker.hdf5_lock.acquire()
      
      with tables.open_file(hdf5_file, 'r+') as fileh:
          hdf5_array = fileh.get_node(path)
          tmp = hdf5_array[rows_slice, ...]
          
      Worker.hdf5_lock.release()
      
      szum = np.sum(tmp, axis = 0)
      with out_lock: 
          array_out += szum
          
      del tmp
docs: Access an array at node 'path' of the 'hdf5_file', compute the sums 
          along a slice of rows specified by 'rows_slice' and add the resulting 
          vector to 'array_out'.
      
      Parameters
      ----------
      hdf5_file : string or file handle
          The location of the HDF5 data structure containing the matrices of availabitilites,
          responsibilities and similarities among others.
          
      path : string 
          Specify the node where the matrix whose row-sums are to be computed is located
          within the given hierarchical data format.
      
      array_out : multiprocessing.Array object
          This ctypes array is allocated from shared memory and used by various
          processes to store the outcome of their computations.
      
      out_lock : multiprocessing.Lock object
          Synchronize access to the values stored in 'array_out'.
          
      rows_slice : slice object
          Specifies a range of rows indices.