Ifpack Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Functions
Mat_dh.h File Reference
#include "euclid_common.h"
Include dependency graph for Mat_dh.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _mat_dh
 

Macros

#define MAT_DH_BINS   10
 
#define MATVEC_TIME   0 /* time to actually perform matvec */
 
#define MATVEC_MPI_TIME   1 /* time for comms + vector copying needed */
 
#define MATVEC_MPI_TIME2   5 /* time for comms, + vector copying needed */
 
#define MATVEC_TOTAL_TIME   2 /* MATVEC_TIME+MATVEC_MPI_TIME */
 
#define MATVEC_RATIO   3 /* computation/communication ratio */
 
#define MATVEC_WORDS   4 /* total words sent to other procs. */
 

Functions

void Mat_dhCreate (Mat_dh *mat)
 
void Mat_dhDestroy (Mat_dh mat)
 
void Mat_dhTranspose (Mat_dh matIN, Mat_dh *matOUT)
 
void Mat_dhMakeStructurallySymmetric (Mat_dh A)
 
void Mat_dhMatVecSetup (Mat_dh mat)
 
void Mat_dhMatVecSetdown (Mat_dh mat)
 
void Mat_dhMatVec (Mat_dh mat, double *lhs, double *rhs)
 
void Mat_dhMatVec_omp (Mat_dh mat, double *lhs, double *rhs)
 
void Mat_dhMatVec_uni (Mat_dh mat, double *lhs, double *rhs)
 
void Mat_dhMatVec_uni_omp (Mat_dh mat, double *lhs, double *rhs)
 
int Mat_dhReadNz (Mat_dh mat)
 
void Mat_dhPrintGraph (Mat_dh mat, SubdomainGraph_dh sg, FILE *fp)
 
void Mat_dhPrintRows (Mat_dh mat, SubdomainGraph_dh sg, FILE *fp)
 
void Mat_dhPrintCSR (Mat_dh mat, SubdomainGraph_dh sg, char *filename)
 
void Mat_dhPrintTriples (Mat_dh mat, SubdomainGraph_dh sg, char *filename)
 
void Mat_dhPrintBIN (Mat_dh mat, SubdomainGraph_dh sg, char *filename)
 
void Mat_dhReadCSR (Mat_dh *mat, char *filename)
 
void Mat_dhReadTriples (Mat_dh *mat, int ignore, char *filename)
 
void Mat_dhReadBIN (Mat_dh *mat, char *filename)
 
void Mat_dhPermute (Mat_dh Ain, int *pIN, Mat_dh *Bout)
 
void Mat_dhFixDiags (Mat_dh A)
 
void Mat_dhPrintDiags (Mat_dh A, FILE *fp)
 
void Mat_dhGetRow (Mat_dh B, int globalRow, int *len, int **ind, double **val)
 
void Mat_dhRestoreRow (Mat_dh B, int row, int *len, int **ind, double **val)
 
void Mat_dhPartition (Mat_dh mat, int k, int **beg_rowOUT, int **row_countOUT, int **n2oOUT, int **o2nOUT)
 
void Mat_dhZeroTiming (Mat_dh mat)
 
void Mat_dhReduceTiming (Mat_dh mat)
 
void Mat_dhRowPermute (Mat_dh)
 
void dldperm (int job, int n, int nnz, int colptr[], int adjncy[], double nzval[], int *perm, double u[], double v[])
 

Macro Definition Documentation

#define MAT_DH_BINS   10

Definition at line 55 of file Mat_dh.h.

#define MATVEC_TIME   0 /* time to actually perform matvec */

Definition at line 56 of file Mat_dh.h.

#define MATVEC_MPI_TIME   1 /* time for comms + vector copying needed */

Definition at line 57 of file Mat_dh.h.

#define MATVEC_MPI_TIME2   5 /* time for comms, + vector copying needed */

Definition at line 58 of file Mat_dh.h.

#define MATVEC_TOTAL_TIME   2 /* MATVEC_TIME+MATVEC_MPI_TIME */

Definition at line 59 of file Mat_dh.h.

#define MATVEC_RATIO   3 /* computation/communication ratio */

Definition at line 60 of file Mat_dh.h.

#define MATVEC_WORDS   4 /* total words sent to other procs. */

Definition at line 61 of file Mat_dh.h.

Function Documentation

void Mat_dhCreate ( Mat_dh mat)

Definition at line 73 of file Mat_dh.c.

void Mat_dhDestroy ( Mat_dh  mat)

Definition at line 131 of file Mat_dh.c.

void Mat_dhTranspose ( Mat_dh  matIN,
Mat_dh matOUT 
)

Definition at line 1417 of file Mat_dh.c.

void Mat_dhMakeStructurallySymmetric ( Mat_dh  A)

Definition at line 1438 of file Mat_dh.c.

void Mat_dhMatVecSetup ( Mat_dh  mat)

Definition at line 249 of file Mat_dh.c.

void Mat_dhMatVecSetdown ( Mat_dh  mat)

Definition at line 238 of file Mat_dh.c.

void Mat_dhMatVec ( Mat_dh  mat,
double *  lhs,
double *  rhs 
)

Definition at line 476 of file Mat_dh.c.

void Mat_dhMatVec_omp ( Mat_dh  mat,
double *  lhs,
double *  rhs 
)

Definition at line 564 of file Mat_dh.c.

void Mat_dhMatVec_uni ( Mat_dh  mat,
double *  lhs,
double *  rhs 
)

Definition at line 686 of file Mat_dh.c.

void Mat_dhMatVec_uni_omp ( Mat_dh  mat,
double *  lhs,
double *  rhs 
)

Definition at line 645 of file Mat_dh.c.

int Mat_dhReadNz ( Mat_dh  mat)

Definition at line 723 of file Mat_dh.c.

void Mat_dhPrintGraph ( Mat_dh  mat,
SubdomainGraph_dh  sg,
FILE *  fp 
)

Definition at line 868 of file Mat_dh.c.

void Mat_dhPrintRows ( Mat_dh  mat,
SubdomainGraph_dh  sg,
FILE *  fp 
)

Definition at line 906 of file Mat_dh.c.

void Mat_dhPrintCSR ( Mat_dh  mat,
SubdomainGraph_dh  sg,
char *  filename 
)

Definition at line 1276 of file Mat_dh.c.

void Mat_dhPrintTriples ( Mat_dh  mat,
SubdomainGraph_dh  sg,
char *  filename 
)

Definition at line 1071 of file Mat_dh.c.

void Mat_dhPrintBIN ( Mat_dh  mat,
SubdomainGraph_dh  sg,
char *  filename 
)

Definition at line 1312 of file Mat_dh.c.

void Mat_dhReadCSR ( Mat_dh mat,
char *  filename 
)

Definition at line 1338 of file Mat_dh.c.

void Mat_dhReadTriples ( Mat_dh mat,
int  ignore,
char *  filename 
)

Definition at line 1366 of file Mat_dh.c.

void Mat_dhReadBIN ( Mat_dh mat,
char *  filename 
)

Definition at line 1397 of file Mat_dh.c.

void Mat_dhPermute ( Mat_dh  Ain,
int *  pIN,
Mat_dh Bout 
)

Definition at line 807 of file Mat_dh.c.

void Mat_dhFixDiags ( Mat_dh  A)

Definition at line 1457 of file Mat_dh.c.

void Mat_dhPrintDiags ( Mat_dh  A,
FILE *  fp 
)

Definition at line 1565 of file Mat_dh.c.

void Mat_dhGetRow ( Mat_dh  B,
int  globalRow,
int *  len,
int **  ind,
double **  val 
)

Definition at line 1596 of file Mat_dh.c.

void Mat_dhRestoreRow ( Mat_dh  B,
int  row,
int *  len,
int **  ind,
double **  val 
)

Definition at line 1616 of file Mat_dh.c.

void Mat_dhPartition ( Mat_dh  mat,
int  k,
int **  beg_rowOUT,
int **  row_countOUT,
int **  n2oOUT,
int **  o2nOUT 
)

Definition at line 1794 of file Mat_dh.c.

void Mat_dhZeroTiming ( Mat_dh  mat)

Definition at line 776 of file Mat_dh.c.

void Mat_dhReduceTiming ( Mat_dh  mat)

Definition at line 791 of file Mat_dh.c.

void Mat_dhRowPermute ( Mat_dh  )

Definition at line 1623 of file Mat_dh.c.

void dldperm ( int  job,
int  n,
int  nnz,
int  colptr[],
int  adjncy[],
double  nzval[],
int *  perm,
double  u[],
double  v[] 
)