ParaView reads too much
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
When opening a file with a serial reader while running in parallel, all processes read the whole data and then redistribution occurs. See below. We need to make sure that, for all data types, when a serial reader is used and when there is only 1 file, only the first process reads the data and partitions it to other processes.
Wait a sec... I am not sure I agree with with you after all. Upon closer inspection it looks to me like all of the process do end up with a copy of the entire dataset in memory when using legacy readers. At the very least in between the read and the automagic PV load balancing you pointed out, possibly longer depending on how long the pipeline holds the reader output.
It looks as though legacy files are read by PV using vtkPDataSetReader. I put a couple print statements that show process Id and the number of points read on each process during request data. See the attached patch. When I run multiple pvservers all processes output the same response as a serial run.
For example, using "CylinderQuadratic.vtk" as a test case i get:
$mpiexec -np 2 bin/pvserver --server-port=22222 Listen on port: 22222 Waiting for client... Waiting for server... Client connected. 1 Read 2814 0 Read 2814
while with just the builtin I get:
0 Read 2814