[Paraview] Parallel file formats (again)...

Renato N. Elias rnelias at nacad.ufrj.br
Fri Jun 13 08:58:07 EDT 2008


Can anyone shed some light above how is the support status for parallel 
file formats in ParaView?

In my lab most of the students still work with Fortran. It seems that 
"the universe nowadays only speaks C++ (and Python for scripting)" which 
force us to do an extensive evaluation for a good and well supported 
parallel file format to invest before struggling with all that mixed 
languages interface/wrapping annoyances (not everybody working with 
programs are programmers, there's still some engineers like civil, 
mechanical, chemical, etc... doing science...).

I could say that our my concerns about choosing a file format to sticky 
with is:

-- Easiness for installation and use (in this sense, Ensight is 
wonderful since we don't need extra libraries. It's insane when we need 
to compile 50 MB of libraries to link with a 2 MB program that uses just 
one routine of such library);
-- Easiness for interfacing (most of the libraries nowadays is written 
in C++ for C++ programmers which discourage its use by C and Fortran 
programs. Ok, we can always spend some time in interfacing it, but, a 
library should offer more functionality and flexibility than annoyances)
-- Portability.

Some time ago there was some interesting posts from Jean Favre and 
Dominic about this, which give us some overview about the subject.

http://www.paraview.org/pipermail/paraview/2008-May/008070.html
http://www.paraview.org/pipermail/paraview/2008-May/008071.html

My 2 cents for the discussion, *from a Fortran perspective*, is:

1). ENSIGHT:
1.1. Quite simple to implement and use (no need for extra libraries and 
all that stuff. Just a few Fortran statements do the job);
1.2. Implicit support for transient data and parallelism;
1.3. Depending on the number of processes we might have a huge number of 
small/medium files since each point and cell data variable is stored in 
one file (sometimes it can be a serious problem);
1.4. Not compressed (too bad);
1.5. Not so well supported *as a parallel format* by ParaView yet. After 
the change to deal (after PV 2.2.1) with multigroup datasets some 
functionalities were lost until reimplementation.
1.6. Supported by ParaView, Visit and Ensight (of course)

2). XML/VTK:
2.1. Almost impossible for a Fortran user to implement, so, we're forced 
to interface with VTK in order to write something;
2.2. Time series support has been introduced in some sense ;o)
2.3. It's a bit complicated to understand. Ok, it's XML and we should 
use it (and believe on it ;o) ) through some library, so, it's not 
supposed to "hand-implementation";
2.4. Encoding/compression is supported (which is really good)
2.5. It should be the most well parallel file format supported by 
ParaView (after EXODUS, maybe)
2.6. Only supported by VTK based softwares (ParaView, Visit, MayaVi)

3). XDMF/HDF5:
3.1. Same as 2.1, 2.2 and 2.3
3.2. The website describing the library is a bit down lately...
3.3. HDF5 seems a very promising file format. It has some development 
concern about its use by other scientific languages besides being 
flexible, compressed, cross platform, etc... .
3.4. From my knowledge, XDMF is supported by Ensight, ParaView and Visit 
also --> not sure about how good is that support.

4). EXODUS II:
4.1. Same as 2.1 --> I already tried more than once to find something 
about Exodus format. There's a good documentation in SANDIA/SEACAS page 
but the library is not open source (it's a license based distribution) 
which turns it a bit complicated to adopt;
4.2. Nothing to say about timea nd compression support since I never 
used it;
4.3. It must be well supported by PV since it's a Sandia's format;

regards

Renato.





More information about the ParaView mailing list