slow loading of mesh in dmplex
Dear petsc devs After some profiling of the loading of a large gmsh mesh in dmplex (which seemed to take forever), I found that it was spending 99% of its time in IsGetIndices_Stride in the following calltree DMPlexCreateGmshFromFile -> DMPlexGetFullJoin -> DMLabelGetStratumBounds -> ISGetIndices -> ISGetIndices_Stride where it seems to work out the bounds of each stratum by explicitly computing all indices of a strided index set to then only take its first and last entry, and this is done for each facet in the mesh a couple of times. With the attached patch I managed to reduce the load time of a mesh from 4 hours to 22 seconds! I'm not a 100% sure if the patch is correct in all circumstances: I presume the assumption was that the index set is sorted? Cheers Stephan
participants (1)
-
Stephan Kramer