class_docstr: Sequential execution
class_docstr_tok: ["Sequential","execution"]
docstr: End a sequential execution of a section of code
docstr_tok: ["End","a","sequential","execution","of","a","section","of","code"]
code: def end(self):
      """
      End a sequential execution of a section of code
      """
      comm = self.comm
      size = comm.Get_size()
      if size == 1:
          return
      rank = comm.Get_rank()
      ng = self.ng
      tag = self.tag
      if rank == (size - 1) or (rank % ng) == (ng - 1):
          comm.Send([None, "B"], (rank + 1) % size, tag)
      if rank == 0:
          comm.Recv([None, "B"], size - 1, tag)
  
label_desc: Use image node_id 5 for calling the Seq obj's underlying member method code with example usage: obj.end() without return types