Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.08 KB | None | 0 0
  1. class BenchTickWriter(object):
  2.     def __init__(self, mpi_comm, filename, data):
  3.         self.mycomm = mpi_comm
  4.         self.selfcomm = MPI.COMM_SELF   # each rank is its own communicator since this is file per process
  5.         self.filename = filename
  6.         self.data = data
  7.         self.open_mask = mode = MPI.MODE_WRONLY|MPI.MODE_UNIQUE_OPEN|MPI.MODE_APPEND
  8.         #self.open_mask = mode = MPI.MODE_WRONLY|MPI.MODE_UNIQUE_OPEN|MPI.MODE_CREATE
  9.         self.timings = {}
  10.         self.fd = self.open_file(self.filename, self.open_mask)
  11.  
  12.         return
  13.  
  14.     def open_file(self, filename, mask):
  15.         return MPI.File.Open(self.selfcomm, filename, amode=mask)
  16.  
  17.     def write_data(self):
  18.         bytes_written = 0
  19.         mpistatus = MPI.Status()
  20.         start_time = get_time()
  21.         rc = MPI.File.Write_all(self.fd, self.data, status=mpistatus)
  22.         bytes_written += mpistatus.count
  23.         total_time = get_time() - start_time
  24.         self.timings['write_data_tm'] = total_time
  25.         self.timings['write_data_bytes'] = bytes_written
  26.  
  27.         return bytes_written
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement