Poor performance benchmarking Catalyst

Hey all,

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?

That’s strange indeed. FWIW, there’s no difference between the contour filter in ParaView and in Catalyst, so the time difference can only be due to: 1. difference in build configurations (which you have already ruled out), 2. difference in data being processed, 3. not related to contour at all.

Can you post your Catalyst insitu script? We can start by trimming it down to identify the bottleneck and then dig in there.

Hey Utkarsh, Thanks for the response.

I’ve attached the script I’m passing to Catalyst. As far as I recall I only made a few small modifications to what was output when I recorded this in ParaView, but let me know if anything jumps out at you.

RBIsoSurfaceTest.py (4.9 KB)


we tested Catalyst in OpenFOAM and we found that the rendering of a contour of a field together with the wireframe of the geometry hangs.
Looking now at your post, I can think that the code is not hanging but waiting for hours before completing the calculation.