Peano
Loading...
Searching...
No Matches
Debugging Hints

On-the-fly Validation

Dependency Checks

When compiled in assert or debug mode, we insert automatic dependency checks to verify on-the-fly that the expected task dependencies are indeed respected. For more details, see Particle._add_dependency_checks() in src/exaparty/api/particle/Particle.py.

The dependency checks introduce a sizeable overhead and come at a significant run time cost. They can be disabled by passing the -DNoParticleDependencyChecks macro definition to the compiler. Alternately, you can add that flag in the python project using

peano4_project.output.makefile.add_CXX_flag("-DNoParticleDependencyChecks")

Assignment Checks

When compiled in assert or debug mode, we insert automatic particle-grid assigmnet checks to verify on-the-fly that the expected particle-grid assignments, movements, and exchanges are indeed respected. For more details, see the documentation of toolbox::particles::assignmentchecks in src/toolbox/particles/assignmentchecks/TracingAPI.h.

The assignment checks introduce a sizeable overhead and come at a significant run time cost. They can be disabled by passing the -DnoAssignmentChecks macro definition to the compiler. Alternately, you can add that flag in the python project using

peano4_project.output.makefile.add_CXX_flag("-DNoAssignmentChecks")