typedef const char* MatProductAlgorithm; #define MATPRODUCTALGORITHMDEFAULT "default" #define MATPRODUCTALGORITHMSORTED "sorted" #define MATPRODUCTALGORITHMSCALABLE "scalable" #define MATPRODUCTALGORITHMSCALABLEFAST "scalable_fast" #define MATPRODUCTALGORITHMHEAP "heap" #define MATPRODUCTALGORITHMBHEAP "btheap" #define MATPRODUCTALGORITHMLLCONDENSED "llcondensed" #define MATPRODUCTALGORITHMROWMERGE "rowmerge" #define MATPRODUCTALGORITHMOUTERPRODUCT "outerproduct" #define MATPRODUCTALGORITHMATB "at*b" #define MATPRODUCTALGORITHMRAP "rap" #define MATPRODUCTALGORITHMNONSCALABLE "nonscalable" #define MATPRODUCTALGORITHMSEQMPI "seqmpi" #define MATPRODUCTALGORITHMBACKEND "backend" #define MATPRODUCTALGORITHMOVERLAPPING "overlapping" #define MATPRODUCTALGORITHMMERGED "merged" #define MATPRODUCTALGORITHMALLATONCE "allatonce" #define MATPRODUCTALGORITHMALLATONCEMERGED "allatonce_merged" #define MATPRODUCTALGORITHMALLGATHERV "allgatherv" #define MATPRODUCTALGORITHMCYCLIC "cyclic" #if defined(PETSC_HAVE_HYPRE) #define MATPRODUCTALGORITHMHYPRE "hypre" #endif