ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Functions
pexsi::DistMatrixTransformer Namespace Reference

Functions

int MinimumIndexPosition (const bool isFirst, const int nprocs, int *size_process, int *displacement_process, const int *index)
 
void buildCCSParameter (const int size, const int nprocs, std::vector< int > size_process, std::vector< int > displacement_process, const int *position_index, DistCCSMatrix &DST_Matrix, int *buffer2ccsIndex)
 
void buffer2CCSvalue (int nnzLocal, int *buffer2ccsIndex, double *buffer, double *nzvalLocal)
 
void countMatrixDistribution (int N, double *A, std::map< int, int > &P)
 
int getNonZeroIndex (char layout, const int nrow, const int ncol, double *H_2d, double *S_2d, const double ZERO_Limit, int &nnz, std::vector< int > &rowidx, std::vector< int > &colidx)
 
int buildTransformParameter (DistBCDMatrix &SRC_Matrix, DistCCSMatrix &DST_Matrix, const int NPROC_TRANS, MPI_Group &GROUP_TRANS, MPI_Comm &COMM_TRANS, const int nnz, std::vector< int > &rowidx, std::vector< int > &colidx, int &sender_size, std::vector< int > &sender_size_process, std::vector< int > &sender_displacement_process, int &receiver_size, std::vector< int > &receiver_size_process, std::vector< int > &receiver_displacement_process, std::vector< int > &buffer2ccsIndex)
 
int newGroupCommTrans (DistBCDMatrix &SRC_Matrix, DistCCSMatrix &DST_Matrix, MPI_Group &GROUP_TRANS, MPI_Comm &COMM_TRANS)
 
int deleteGroupCommTrans (MPI_Group &GROUP_TRANS, MPI_Comm &COMM_TRANS)
 
int transformBCDtoCCS (DistBCDMatrix &SRC_Matrix, double *H_2d, double *S_2d, const double ZERO_Limit, DistCCSMatrix &DST_Matrix, double *&H_ccs, double *&S_ccs)
 
int transformCCStoBCD (DistCCSMatrix &SRC_Matrix, double *DMnzvalLocal, double *ENDnzvalLocal, DistBCDMatrix &DST_Matrix, double *DM_2d, double *ED_2d)
 

Function Documentation

◆ buffer2CCSvalue()

void pexsi::DistMatrixTransformer::buffer2CCSvalue ( int  nnzLocal,
int *  buffer2ccsIndex,
double *  buffer,
double *  nzvalLocal 
)

◆ buildCCSParameter()

void pexsi::DistMatrixTransformer::buildCCSParameter ( const int  size,
const int  nprocs,
std::vector< int >  size_process,
std::vector< int >  displacement_process,
const int *  position_index,
DistCCSMatrix DST_Matrix,
int *  buffer2ccsIndex 
)

◆ buildTransformParameter()

int pexsi::DistMatrixTransformer::buildTransformParameter ( DistBCDMatrix SRC_Matrix,
DistCCSMatrix DST_Matrix,
const int  NPROC_TRANS,
MPI_Group &  GROUP_TRANS,
MPI_Comm &  COMM_TRANS,
const int  nnz,
std::vector< int > &  rowidx,
std::vector< int > &  colidx,
int &  sender_size,
std::vector< int > &  sender_size_process,
std::vector< int > &  sender_displacement_process,
int &  receiver_size,
std::vector< int > &  receiver_size_process,
std::vector< int > &  receiver_displacement_process,
std::vector< int > &  buffer2ccsIndex 
)

◆ countMatrixDistribution()

void pexsi::DistMatrixTransformer::countMatrixDistribution ( int  N,
double *  A,
std::map< int, int > &  P 
)

◆ deleteGroupCommTrans()

int pexsi::DistMatrixTransformer::deleteGroupCommTrans ( MPI_Group &  GROUP_TRANS,
MPI_Comm &  COMM_TRANS 
)

◆ getNonZeroIndex()

int pexsi::DistMatrixTransformer::getNonZeroIndex ( char  layout,
const int  nrow,
const int  ncol,
double *  H_2d,
double *  S_2d,
const double  ZERO_Limit,
int &  nnz,
std::vector< int > &  rowidx,
std::vector< int > &  colidx 
)

◆ MinimumIndexPosition()

int pexsi::DistMatrixTransformer::MinimumIndexPosition ( const bool  isFirst,
const int  nprocs,
int *  size_process,
int *  displacement_process,
const int *  index 
)

◆ newGroupCommTrans()

int pexsi::DistMatrixTransformer::newGroupCommTrans ( DistBCDMatrix SRC_Matrix,
DistCCSMatrix DST_Matrix,
MPI_Group &  GROUP_TRANS,
MPI_Comm &  COMM_TRANS 
)

◆ transformBCDtoCCS()

int pexsi::DistMatrixTransformer::transformBCDtoCCS ( DistBCDMatrix SRC_Matrix,
double *  H_2d,
double *  S_2d,
const double  ZERO_Limit,
DistCCSMatrix DST_Matrix,
double *&  H_ccs,
double *&  S_ccs 
)

◆ transformCCStoBCD()

int pexsi::DistMatrixTransformer::transformCCStoBCD ( DistCCSMatrix SRC_Matrix,
double *  DMnzvalLocal,
double *  ENDnzvalLocal,
DistBCDMatrix DST_Matrix,
double *  DM_2d,
double *  ED_2d 
)