Open roelof-groenewald opened 2 years ago
Thank you for the test! Looks like there is a significant runtime Fab creation and potential memory overhead that we need to guard by runtime flags.
CCing further developers of EB: @WeiqunZhang @atmyers @lgiacome @RemiLehe et al.
We certainly don't need to build these MultiFabs for regular geometry.
m_distance_to_eb
m_edge_lengths
m_face_areas
...
We first need to fix #3385
There has been some discussion on removing the compile time argument
USE_EB
and instead always support inclusion of embedded boundaries. The open question before that can be done is whether there is a performance penalty for non-EB containing simulations when running with aUSE_EB=ON
compilation. As a first step in answering this I ran a test with the non-EB simulation fromWarpX/Examples/Physics_applications/capacitive_discharge/inputs_2d
(see https://github.com/ECP-WarpX/WarpX/issues/3248#issuecomment-1197390221). The fab allocation comparison is copied below:Compiled without EB support:
Compiled with EB support: