Parallel reading/visualization of vtu files

(Niklas) #1

Hi,
I have a large irregular grid that I can only read in single threaded. I thought that storing it as vtu or pvtu would later allow me to read in and visualize the data in parallel, but it does not. I do see all the pvserver processes, but only one process does all the work. If I create a wavelet, I do see that now all threads are working.
Is there a possibility to either read in one single vtu file properly so that the workload is shared, or can I create a pvtu file from a single thread that has more than the _0.vtu object in it?
Thanks and Cheers,
Niklas

(Mathieu Westphal (Kitware)) #2

Hi Niklas,

With unstructured grid, the distribution of the data is not free and has to be done explicitly.
One way to do that is to use the D3 filter, like this :

  • Run pvserver in parallel
  • Run paraview, connect to pvserver
  • Open your .vtu file, Apply, it is not distributed
  • Add a D3 filter, Apply (can take some time) , dataset is now distributed
  • Save as a .pvtu file

Reopening this .pvtu file on a parallel paraview will give you a (statically) distributed dataset, while working with D3 directly will give you a dynamically distributed dataset but take more time each time you want to distribute your dataset.

(Niklas) #3

Thank you for your help!

Cheers, Niklas

(Walter Alan Scott) #4

@mwestphal Nice trick. Obvious, but I haven’t seen it before. I will write it up as a Tip and Trick. Thanks.