class_docstr: Shuffler is used to shuffle the data.
  
  data is stored in a flatten array with the shape is (num_node * node_size * step) and the
  shuffle is applied to the `node_size` dimension.
docstr: get chunk shuffle index
docstr_tok: ["get","chunk","shuffle","index"]
code: def get_shuffle_index(self, step, reverse=False):
      """
      get chunk shuffle index
      """
      stepped = torch.arange(
          0, self.num_node * self.node_size * step
      ).reshape(self.num_node * self.node_size, step)
      indexes = stepped[self._get_global_perm_index(), :].flatten()
      if reverse:
          indexes = torch.argsort(indexes)
      return indexes.detach().cpu().tolist()
  
imports: from typing import List, Tuple, Dict
  import numpy
  import torch
label_desc: Use image node_id 4 for calling the Shuffler obj's underlying member method code with example usage: obj.get_shuffle_index(step, reverse) and returns: indexes