Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 61 additions & 15 deletions source/source_hsolver/module_genelpa/cblacs.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,74 @@
#define ABACUS_SOURCE_HSOLVER_MODULE_GENELPA_CBLACS_H

// blacs
// Initialization
// Initialization
#include "mpi.h"
#include <complex>
int Csys2blacs_handle(MPI_Comm SysCtxt);
void Cblacs_pinfo(int *myid, int *nprocs);
void Cblacs_get(int icontxt, int what, int *val);
void Cblacs_gridinit(int* icontxt, char *layout, int nprow, int npcol);
void Cblacs_gridmap(int* icontxt, int *usermap, int ldumap, int nprow, int npcol);
// Destruction
void Cblacs_gridinit(
int *icontxt,
char *layout,
int nprow,
int npcol);
void Cblacs_gridmap(
int *icontxt,
int *usermap,
int ldumap,
int nprow,
int npcol);
// Destruction
void Cblacs_gridexit(int icontxt);
// Informational and Miscellaneous
void Cblacs_gridinfo(int icontxt, int* nprow, int *npcol, int *myprow, int *mypcol);
// Informational and Miscellaneous
void Cblacs_gridinfo(
int icontxt,
int *nprow,
int *npcol,
int *myprow,
int *mypcol);
int Cblacs_pnum(int icontxt, int prow, int pcol);
void Cblacs_pcoord(int icontxt, int pnum, int *prow, int *pcol);
void Cblacs_pcoord(
int icontxt,
int pnum,
int *prow,
int *pcol);
void Cblacs_barrier(int icontxt, char *scope);
// Point to Point
void Cdgesd2d(int icontxt, int m, int n, double *a, int lda, int rdest, int cdest);
void Cdgerv2d(int icontxt, int m, int n, double *a, int lda, int rsrc, int csrc);
void Czgesd2d(int icontxt, int m, int n, std::complex<double> *a, int lda, int rdest, int cdest);
void Czgerv2d(int icontxt, int m, int n, std::complex<double> *a, int lda, int rsrc, int csrc);
// Combine
//void Cdgamx2d(int icontxt, int scope, int top, int m, int n,
// double *a, int lda, int *ra, int *ca, int rcflag, int rdest, int cdest);
// Point to Point
void Cdgesd2d(
int icontxt,
int m,
int n,
double *a,
int lda,
int rdest,
int cdest);
void Cdgerv2d(
int icontxt,
int m,
int n,
double *a,
int lda,
int rsrc,
int csrc);
void Czgesd2d(
int icontxt,
int m,
int n,
std::complex<double> *a,
int lda,
int rdest,
int cdest);
void Czgerv2d(
int icontxt,
int m,
int n,
std::complex<double> *a,
int lda,
int rsrc,
int csrc);
// Combine
// void Cdgamx2d(int icontxt, int scope, int top, int m, int n,
// double *a, int lda, int *ra, int *ca, int rcflag, int rdest, int cdest);

#endif // ABACUS_SOURCE_HSOLVER_MODULE_GENELPA_CBLACS_H
Loading
Loading