-
Notifications
You must be signed in to change notification settings - Fork 8
Switch to native ParaView MPI parallelization with pvserver #4
Description
Currently, we spawn multiple subprocesses of pvpython which process their block of frames. It requires the management code (multiprocessing pool + subprocess), and it is not super scalable.
I am convinced that the parallelization implemented in pvserver is faster, but at least one would not have to maintain separate code for job management.
In this case, the architecture would look like this:
- Starting pvserver with mpirun (e.g. on HPC cluster)
- Connecting from gwpv to pvserver via TCP using
Connect()method - Rendering frames sequentially, and pvserver takes care (mostly) of parallelizing the rendering
It would require having a parallel-aware data source, which I believe is not hard to implement. ParaView says in the documentation, that with the D3 filter even non-parallel-aware data sources can benefit from using pvserver.
Here is the documentation page: https://docs.paraview.org/en/latest/ReferenceManual/parallelDataVisualization.html#paraview-architecture