Linear Solver Performance: Evaluation of Single Core Benchmarks

Create Table for Post-Processing

The timing information that is requires for this study is not present in the default session table. Instead, it must be extracted from the session profiling.

To obtain timing-measurements, the instrumentation generated by certain BlockTrace-blocks within the UniSolver, resp. the XdgBDFTimestepping class is extracted and added to the data table:

List of all available Data Columns:

Select those columns which are of interest:

Only consider runs which have been successful:

Vizualisation of Results

The following data is available:

Available DG degrees:

All used solvers:

Cases investigated:

Macro Routine for Multiplot

The following routine combines the plotting code which is common for all sub-plot in this evaluation; only the y-axis needs to be specified.

The following function will later be used to check the regression solpe of runtimes (ideally, one expects linear runtime of a solver with respect to degrees-of-freedom):

Total Runtime

One would expect linear scaling with grid resolution; it may scale nonlinear with DG polynomial order.

Regression and Error checking (total runtime)

For polynomial degree 2:

For polynomial degree 3:

For polynomial degree 5:

Number of Iterations

For the iterative solvers, obe would expect almost constant number of solver iterations, independent of grid resolution. It may, however depend in nonlinar fashion on the DG polynomial order.

The following function will later be used to check the regression solpe of runtimes (ideally, one expects constant number of iterations of a multigrid-solver with respect to degrees-of-freedom):

Runtime per Iteration

One would expect linear scaling with grid resolution; it may scale nonlinear with DG polynomial order.