On Thu, 27 Apr 2017, Rossi, Simone wrote: > The run times for 100 timesteps using AMR can be more than 10 times slower > than when using a fine uniform grid. > For example, with a 16 x 16 x 16 uniform grid, 100 iterations take about 18 > seconds with a single processor.
> With AMR, using a 2 x 2 x 2 grid and 3 levels of refinement, 100 iterations > take about 800 seconds. I didn't really understand this sentence until I started to run your code to test possible libMesh optimizations - you're running 3 levels of refinement *per timestep*!? That's pretty much guaranteed to be inefficient; for nearly any transient PDE solve, the solution is never going to change so much within a single time step that you'll want to use more than one AMR step. We probably violate this rule of thumb in the examples, which we should fix to avoid misleading others, but in most cases you want to think "time steps per adaptive step", not the other way around. (there are exceptions, but in those cases you have to also be exceptionally careful about how you do AMR; e.g. saving your previous time step's error indicator so you don't accidentally coarsen too soon) I'm not complaining, though; your code really hammers the AMR code in libMesh, which is exactly what we need for optimization purposes. --- Roy ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
