> On 8 Oct 2021, at 00:48, Jed Brown <[email protected]> wrote:
> 
> Adrian Croucher <[email protected]> writes:
> 
>> hi Jed,
>> 
>> It looked to me like a call to h5f_flush() is all that is required.
>> 
>> Some people said there would be a performance hit (maybe ~ 10% slower), 
>> which would be the trade-off for increased reliability. So if this were 
>> made available via PetscViewerFlush(), I'd probably make it optional in 
>> my code so the user could decide for themselves if it was worth it for them.
>> 
>> Do you think flushing would be a better option than closing/opening the 
>> file between writes?
> 
> Yes, less costly at scale (metadata like opening files can be expensive on 
> parallel file systems), and simpler to manage from your code.

I have just come across this a couple of days ago. I think PetscViewerFlush() 
[no-op for HDF5 currently] should call H5Fflush() for sure. I can do it now.

I agree with Jed that closing/opening can have significant overhead on large 
number of processes due to metadata processing.

Thanks,

Vaclav

Reply via email to