Eigenvalue SoLvers for Petaflop-Applications (ELPA)  2020.05.001
Macros | Functions
cannon.c File Reference
#include "config-f90.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <complex.h>
#include "../helpers/scalapack_interfaces.h"
#include <mpi.h>
#include "../general/precision_macros.h"
#include "cannon_forw_template.c"
#include "cannon_back_template.c"

Macros

#define C_INT_TYPE_PTR   int*
 
#define C_INT_TYPE   int
 
#define BLAS_KIND   c_int
 
#define C_INT_MPI_TYPE_PTR   int*
 
#define C_INT_MPI_TYPE   int
 
#define MPI_KIND   c_int
 
#define numroc_   numroc
 
#define dlacpy_   dlacpy
 
#define slacpy_   slacpy
 
#define zlacpy_   zlacpy
 
#define clacpy_   clacpy
 
#define pdtran_   pdtran
 
#define pstran_   pstran
 
#define pztranc_   pztranc
 
#define pctranc_   pctranc
 
#define pdlacpy_   pdlacpy
 
#define pslacpy_   pslacpy
 
#define pzlacpy_   pzlacpy
 
#define pclacpy_   pclacpy
 
#define numroc_   numroc_
 
#define dlacpy_   dlacpy_
 
#define slacpy_   slacpy_
 
#define zlacpy_   zlacpy_
 
#define clacpy_   clacpy_
 
#define pdtran_   pdtran_
 
#define pstran_   pstran_
 
#define pztranc_   pztranc_
 
#define pctranc_   pctranc_
 
#define pdlacpy_   pdlacpy_
 
#define pslacpy_   pslacpy_
 
#define pzlacpy_   pzlacpy_
 
#define pclacpy_   pclacpy_
 
#define REALCASE   1
 
#define DOUBLE_PRECISION   1
 
#define REALCASE   1
 
#define SINGLE_PRECISION   1
 
#define COMPLEXCASE   1
 
#define DOUBLE_PRECISION   1
 
#define COMPLEXCASE   1
 
#define SINGLE_PRECISION   1
 

Functions

void cannons_reduction_c_d (double *A, double *U, int local_rowsCast, int local_colsCast, int *a_desc, double *Res, int ToStore, int row_comm, int col_comm)
 
void cannons_triang_rectangular_c_d (double *U, double *B, int local_rowsCast, int local_colsCast, int *u_desc, int *b_desc, double *Res, int row_comm, int col_comm)
 
void cannons_reduction_c_f (float *A, float *U, int local_rowsCast, int local_colsCast, int *a_desc, float *Res, int ToStore, int row_comm, int col_comm)
 
void cannons_triang_rectangular_c_f (float *U, float *B, int local_rowsCast, int local_colsCast, int *u_desc, int *b_desc, float *Res, int row_comm, int col_comm)
 
void cannons_reduction_c_dc (double complex *A, double complex *U, int local_rowsCast, int local_colsCasr, int *a_desc, double complex *Res, int ToStore, int row_comm, int col_comm)
 
void cannons_triang_rectangular_c_dc (double complex *U, double complex *B, int local_rowsCast, int local_colsCast, int *u_desc, int *b_desc, double complex *Res, int row_comm, int col_comm)
 
void cannons_reduction_c_fc (float complex *A, float complex *U, int local_rowsCast, int local_colsCast, int *a_desc, float complex *Res, int ToStore, int row_comm, int col_comm)
 
void cannons_triang_rectangular_c_fc (float complex *U, float complex *B, int local_rowsCast, int local_colsCast, int *u_desc, int *b_desc, float complex *Res, int row_comm, int col_comm)
 

Macro Definition Documentation

◆ BLAS_KIND

#define BLAS_KIND   c_int

◆ C_INT_MPI_TYPE

#define C_INT_MPI_TYPE   int

◆ C_INT_MPI_TYPE_PTR

#define C_INT_MPI_TYPE_PTR   int*

◆ C_INT_TYPE

#define C_INT_TYPE   int

◆ C_INT_TYPE_PTR

#define C_INT_TYPE_PTR   int*

◆ clacpy_ [1/2]

#define clacpy_   clacpy

◆ clacpy_ [2/2]

#define clacpy_   clacpy_

◆ COMPLEXCASE [1/2]

#define COMPLEXCASE   1

◆ COMPLEXCASE [2/2]

#define COMPLEXCASE   1

◆ dlacpy_ [1/2]

#define dlacpy_   dlacpy

◆ dlacpy_ [2/2]

#define dlacpy_   dlacpy_

◆ DOUBLE_PRECISION [1/2]

#define DOUBLE_PRECISION   1

◆ DOUBLE_PRECISION [2/2]

#define DOUBLE_PRECISION   1

◆ MPI_KIND

#define MPI_KIND   c_int

◆ numroc_ [1/2]

#define numroc_   numroc

◆ numroc_ [2/2]

#define numroc_   numroc_

◆ pclacpy_ [1/2]

#define pclacpy_   pclacpy

◆ pclacpy_ [2/2]

#define pclacpy_   pclacpy_

◆ pctranc_ [1/2]

#define pctranc_   pctranc

◆ pctranc_ [2/2]

#define pctranc_   pctranc_

◆ pdlacpy_ [1/2]

#define pdlacpy_   pdlacpy

◆ pdlacpy_ [2/2]

#define pdlacpy_   pdlacpy_

◆ pdtran_ [1/2]

#define pdtran_   pdtran

◆ pdtran_ [2/2]

#define pdtran_   pdtran_

◆ pslacpy_ [1/2]

#define pslacpy_   pslacpy

◆ pslacpy_ [2/2]

#define pslacpy_   pslacpy_

◆ pstran_ [1/2]

#define pstran_   pstran

◆ pstran_ [2/2]

#define pstran_   pstran_

◆ pzlacpy_ [1/2]

#define pzlacpy_   pzlacpy

◆ pzlacpy_ [2/2]

#define pzlacpy_   pzlacpy_

◆ pztranc_ [1/2]

#define pztranc_   pztranc

◆ pztranc_ [2/2]

#define pztranc_   pztranc_

◆ REALCASE [1/2]

#define REALCASE   1

◆ REALCASE [2/2]

#define REALCASE   1

◆ SINGLE_PRECISION [1/2]

#define SINGLE_PRECISION   1

◆ SINGLE_PRECISION [2/2]

#define SINGLE_PRECISION   1

◆ slacpy_ [1/2]

#define slacpy_   slacpy

◆ slacpy_ [2/2]

#define slacpy_   slacpy_

◆ zlacpy_ [1/2]

#define zlacpy_   zlacpy

◆ zlacpy_ [2/2]

#define zlacpy_   zlacpy_

Function Documentation

◆ cannons_reduction_c_d()

void cannons_reduction_c_d ( double *  A,
double *  U,
int  local_rowsCast,
int  local_colsCast,
int *  a_desc,
double *  Res,
int  ToStore,
int  row_comm,
int  col_comm 
)

◆ cannons_reduction_c_dc()

void cannons_reduction_c_dc ( double complex *  A,
double complex *  U,
int  local_rowsCast,
int  local_colsCasr,
int *  a_desc,
double complex *  Res,
int  ToStore,
int  row_comm,
int  col_comm 
)

◆ cannons_reduction_c_f()

void cannons_reduction_c_f ( float *  A,
float *  U,
int  local_rowsCast,
int  local_colsCast,
int *  a_desc,
float *  Res,
int  ToStore,
int  row_comm,
int  col_comm 
)

◆ cannons_reduction_c_fc()

void cannons_reduction_c_fc ( float complex *  A,
float complex *  U,
int  local_rowsCast,
int  local_colsCast,
int *  a_desc,
float complex *  Res,
int  ToStore,
int  row_comm,
int  col_comm 
)

◆ cannons_triang_rectangular_c_d()

void cannons_triang_rectangular_c_d ( double *  U,
double *  B,
int  local_rowsCast,
int  local_colsCast,
int *  u_desc,
int *  b_desc,
double *  Res,
int  row_comm,
int  col_comm 
)

◆ cannons_triang_rectangular_c_dc()

void cannons_triang_rectangular_c_dc ( double complex *  U,
double complex *  B,
int  local_rowsCast,
int  local_colsCast,
int *  u_desc,
int *  b_desc,
double complex *  Res,
int  row_comm,
int  col_comm 
)

◆ cannons_triang_rectangular_c_f()

void cannons_triang_rectangular_c_f ( float *  U,
float *  B,
int  local_rowsCast,
int  local_colsCast,
int *  u_desc,
int *  b_desc,
float *  Res,
int  row_comm,
int  col_comm 
)

◆ cannons_triang_rectangular_c_fc()

void cannons_triang_rectangular_c_fc ( float complex *  U,
float complex *  B,
int  local_rowsCast,
int  local_colsCast,
int *  u_desc,
int *  b_desc,
float complex *  Res,
int  row_comm,
int  col_comm 
)