[aspect-devel] Writing output in parallel

Wolfgang Bangerth bangerth at math.tamu.edu
Tue Feb 28 08:26:04 PST 2012


>> I have no idea how MPI would implement this sort of thing. I would
>> imagine that they give asynchronous sends lower priority, but then you
>> never know.
>
> I doubt it. You typically want to finish those writes as fast as
> possible too, so that it can be hidden behind local computation.

Right, but lower priority doesn't affect the speed with which something 
is processed, just the order :-)


> Yes, that would be possible. It is a bit uglier, though. Right now I
> have a simple DataOut::write_vtu_in_parallel("filename",
> communicator); call, that does all the magic. Nonblocking would mean
> that I need to put that code into aspect and expose more internals of
> the vtu format (separate header/footer/main block), I fear.
> I am not sure it is a good idea to wait until the next I/O to close
> the file. I hope the file is valid and flushed before that. But that
> could work.

OK, then I'd say go with what you have right now. Out of curiosity, how 
does MPI I/O work? If you have a parallel file system, is the target of 
the write striped across multiple disks and servers? Or does everything 
converge on a single node?

I'll write a paragraph on how to implement the scheme of writing locally 
and copying later from the job script.

Best
  W.

------------------------------------------------------------------------
Wolfgang Bangerth               email:            bangerth at math.tamu.edu
                                 www: http://www.math.tamu.edu/~bangerth/



More information about the Aspect-devel mailing list