class_docstr: Serializable data structure for holding data for blocks --
  embeddings and necessary metadata for Retriever
class_docstr_tok: ["Serializable","data","structure","for","holding","data","for","blocks","--","embeddings","and","necessary","metadata","for","Retriever"]
docstr: Save the block data that was created this in this process
docstr_tok: ["Save","the","block","data","that","was","created","this","in","this","process"]
code: def save_shard(self):
      """
      Save the block data that was created this in this process
      """
      if not os.path.isdir(self.temp_dir_name):
          os.makedirs(self.temp_dir_name, exist_ok=True)
  
      # save the data for each shard
      with open(
          "{}/{}.pkl".format(self.temp_dir_name, self.rank), "wb"
      ) as writer:
          pickle.dump(self.state(), writer)
  
imports: import itertools
  import os
  import pickle
  import shutil
  import numpy
  import torch
  from megatron import get_args
  from megatron.core import mpu
label_desc: Use image node_id 6 for calling the OpenRetreivalDataStore obj's underlying member method code with example usage: obj.save_shard() without return types