Eigenvalue SoLvers for Petaflop-Applications (ELPA)  2020.11.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 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_

#define clacpy_   clacpy_

◆ COMPLEXCASE [1/2]

#define COMPLEXCASE   1

◆ COMPLEXCASE [2/2]

#define COMPLEXCASE   1

◆ dlacpy_

#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_

#define numroc_   numroc_

◆ pclacpy_

#define pclacpy_   pclacpy_

◆ pctranc_

#define pctranc_   pctranc_

◆ pdlacpy_

#define pdlacpy_   pdlacpy_

◆ pdtran_

#define pdtran_   pdtran_

◆ pslacpy_

#define pslacpy_   pslacpy_

◆ pstran_

#define pstran_   pstran_

◆ pzlacpy_

#define pzlacpy_   pzlacpy_

◆ pztranc_

#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_

#define slacpy_   slacpy_

◆ zlacpy_

#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 
)