I’ve been benchmarking the performance of Catalyst in-situ for some basic post-processing functions, and while most are performing about as expected, in a couple of areas (particularly iso-surface extraction) Catalyst is incredibly slow, even compared to ParaView.
I have an iso-surface test case requiring finding iso-surfaces corresponding to several different mach numbers in a 3D flow solution mesh. When I apply the relevant filter to the full dataset in my local copy of ParaView running in serial, the calculation takes about 30 seconds to a minute. However, when I export this pipeline as a script and supply it to our Paraview install running on our HPC this same calculation takes upwards of 40 minutes.
I’ve ruled out file I/O as the bottleneck, since requiring Catalyst to write out the entire solution in addition to the filter results only extends total run-time by a few minutes. And I don’t believe it’s a problem with our cluster, since our in-house post-processing code (which we hope to replace with Catalyst) can perform this same calculation in a matter of minutes on the same HPC.
I’ve checked if Paraview was simply compiled in debug mode, and this doesn’t seem to be the case (and comparison tests between versions compiled in debug and release showed negligible changes in performance).
Is it possible this is a configuration issue in my CMake file for Paraview? Any suggestions on what might be a culprit?