-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Single precision ParaView output #658
Comments
I double-checked and the ParaView outputs are written in the datatype used in the simulation. But for datasets with a limited number of cells, e.g. fault or surface output, the output size will not be decreased by a factor of 2 in single precision, because of the large alignment and block size used.
which might have motivated:
Looking at the surface output of the latest Turkey simulation (double precision) we can see the used block size leads to 1.3 larger datafile than expected
(3145728*8= 3 * XDMFWRITER_BLOCK_SIZE), 3=ceil(2466245 * 8/XDMFWRITER_BLOCK_SIZE). If we were writing in single precision, the dataset would be written on n = ceil(2466245*4/8388608)=2 blocks, that is the output would only take 66% the size of the double output ( and not 50%). This shows the limits of writing the output in float with large blocks, and explains the potential gain of rewriting the output sequentially. Note that on Frontera the disc block size is much smaller:
I wonder if anyone has ever tried decreasing XDMFWRITER_BLOCK_SIZE in this machine. |
I think, nobody has tried to tweak XDMFWRITER_BLOCK_SIZE. The 8388608 is just a magic number (although motivated) that everybody copies around. |
I think this is because Frontera uses a different file system: Not sure how to tune the writers for this one. |
In #649, @sebwolf-de improved checkpointing for single precision by allowing to write the checkpointed data either in double or in float precision (introducing HDF_C_REAL in the hdf5 writer).
We could apply the same recipe and write ParaView output in single or double precision.
This would nevertheless require some change in the xdmfwriter.
(Overall, I would always save storage and write output in single precision).
The text was updated successfully, but these errors were encountered: