I have compared the performance of such codes between 8.2 and 9.4. It has great performance loss in version 9.4 (which I built 9.4 with tbb/mpi support, but without tbb build option setting in 8.2). I have debugged to trace the code inside vtkCutter (UnstructureGridCutter method) without any positive feedback.
Yes, having a sample data set to reproduce the problem is essential. In addition to that, please provide more details:
Have you built both VTK 8.2 and 9.4 in Release mode? (Debug mode can be 10x slower)
What is the computation time in VTK 8.2 and 9.4?
What operating system do you use?
How exactly did you configure tbb/mpi support?
How much total RAM do you have and what is the peak RAM usage during cutting?
Where most of the time is spent? (you can determine it by building VTK in RelWithDebInfo mode and either use a profiler or just pause the computation during computation a couple of times and see what function/line you are at)
Hi @cory.quammen , The test dataset has 384 thousand polyhedrons. I have exported the file into vtk xmlunstrucutred grid file, but it’s too large to transfer.
You can upload the file anywhere (dropbox, onedrive, google drive, github, etc.) and post the link here.
Please build VTK in RelWithDebInfo mode and report profiling results you get with that. Debug-mode builds are not usable for performance measurements, because the timings are completely different from release-mode builds.
I debugged with the VTK version of ReleaseWithDebugInfo, it has 384k cells, and their types are polyhedron. For each GetDimension(), it will populate vtkPolyhedron. Here it takes much time.
I paused many times in some intervals, and here are some snapshots of the call stack.
@spyridon97 OK. I have changed to the release instead of RC2. The cutter has improvement compared to the RC2, but still slower than what it is with 8.2
I built 9.4 (release) with TBB.
I tested the following data:
unit is second
case | mesh | vtk8.2 | vtk9.4
dataA | 380K polyhedron | 3.001 | 3.796
dataB | 230K polyheron | 0.664 | 0.785
dataC | 3.68 million tetra | 0.834 | 1.198
dataD | 6.21 million tetra + prism | 0.849 | 2.476
dataE | 19.65 million tetra + prism | 5.786 | 19.667
Hi @spyridon97@cory.quammen@lassoan
I have uploaded one test dataset (810 MB)in the web storage site filen.io.
But I cannot get the public share link since I have not the subscription of that site.
Do you mind sign up, then I add you as the contact and share the link? Thanks.