SpikeGPU  1.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
spike::Stats Struct Reference

Output solver statistics. More...

#include <solver.h>

Public Member Functions

 Stats ()

Public Attributes

double timeSetup
double timeUpdate
double timeSolve
double time_reorder
double time_cpu_assemble
double time_transfer
double time_toBanded
double time_offDiags
double time_bandLU
double time_bandUL
double time_fullLU
double time_assembly
double time_shuffle
int bandwidthReorder
int bandwidthMC64
int bandwidth
int numPartitions
double actualDropOff
float numIterations
double residualNorm
double relResidualNorm

Detailed Description

Output solver statistics.

This structure encapsulates all solver statistics, both from the iterative solver and the preconditioner.

Constructor & Destructor Documentation

spike::Stats::Stats ( )

This is the constructor for the Stats class. It initializes all timing and performance measures.

Member Data Documentation

double spike::Stats::actualDropOff

Actual fraction of the element-wise matrix 1-norm dropped off.

int spike::Stats::bandwidth

Half-bandwidth after reordering and drop-off.

int spike::Stats::bandwidthMC64

Half-bandwidth after MC64.

int spike::Stats::bandwidthReorder

Half-bandwidth after reordering.

float spike::Stats::numIterations

Number of iterations required for iterative solver to converge.

int spike::Stats::numPartitions

Actual number of partitions used in the Spike factorization

double spike::Stats::relResidualNorm

Final relative residual norm (i.e. ||b-Ax||_2 / ||b||_2)

double spike::Stats::residualNorm

Final residual norm (i.e. ||b-Ax||_2).

double spike::Stats::time_assembly

Time for assembling off-diagonal matrices (including solving multiple RHS)

double spike::Stats::time_bandLU

Time for LU factorization of diagonal blocks.

double spike::Stats::time_bandUL

Time for UL factorization of diagonal blocks(in LU_UL method only).

double spike::Stats::time_cpu_assemble

Time on CPU to assemble the banded matrix and off-diagonal spikes.

double spike::Stats::time_fullLU

Time for LU factorization of the reduced matrix R.

double spike::Stats::time_offDiags

Time to compute off-diagonal spike matrices on GPU.

double spike::Stats::time_reorder

Time to do reordering.

double spike::Stats::time_shuffle

Total time to do vector reordering and scaling.

double spike::Stats::time_toBanded

Time to form banded matrix when reordering is disabled.

double spike::Stats::time_transfer

Time to transfer data from CPU to GPU.

double spike::Stats::timeSetup

Time to set up the preconditioner.

double spike::Stats::timeSolve

Time for Krylov solve.

double spike::Stats::timeUpdate

Time to update the preconditioner.

The documentation for this struct was generated from the following file: