The DDPM scheduler is investigated by comparing the execution performance to a reference implementation provided by the deal.II library. This benchmark not only shows that an available implementation using external high-performance libraries can be transferred to the ViennaX framework in a straightforward manner but also that the execution penalty of using the framework is negligible.
A large-scale 2D Laplace test case of the deal.II library offering 67 million degrees of freedom is considered. The equations are discretized using biquadratic finite elements and solved using the conjugate gradient method preconditioned by an algebraic multigrid method, based on the Hypre and PETSc libraries.
The strong scaling figure compares the execution performance of the ViennaX implementation with the deal.II reference implementation. Generally, excellent performance is achieved, however, an overall constant performance hit of about one second for all core numbers is identified. This performance hit is due to the run-time overhead introduced by the plugin framework, such as the time required to load the plugins, generate the task graph, and perform virtual function calls.
Although the relative difference is significant for short run-times, a delay of one second hardly matters in real world, day-to-day applications. On the other hand, accepting this performance hit introduces a significant increase in flexibility to the simulation setup due to the increased reusability of ViennaX's component approach.