Eigenvalue SoLvers for Petaflop-Applications (ELPA) 2024.05.001.rc1
|
#include "config-f90.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <complex.h>
#include <stdint.h>
#include "../helpers/scalapack_interfaces.h"
#include "./gpu_vendor_agnostic_layer.h"
#include <mpi.h>
#include "../general/precision_macros.h"
#include "cannon_forw_template.h"
#include "cannon_back_template.h"
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 | NVTX_RANGE_PUSH(msg) ((void)0) |
#define | NVTX_RANGE_POP() ((void)0) |
#define | gpuErrCheck(ans) { gpuAssert((ans), __FILE__, __LINE__); } |
#define | REALCASE 1 |
#define | DOUBLE_PRECISION 1 |
#define | cublasXgemm cublasDgemm |
#define | gpublasXgemm gpublasDgemm |
#define | REALCASE 1 |
#define | SINGLE_PRECISION 1 |
#define | cublasXgemm cublasSgemm |
#define | gpublasXgemm gpublasSgemm |
#define | COMPLEXCASE 1 |
#define | DOUBLE_PRECISION 1 |
#define | cublasXgemm cublasZgemm |
#define | gpublasXgemm gpublasZgemm |
#define | COMPLEXCASE 1 |
#define | SINGLE_PRECISION 1 |
#define | cublasXgemm cublasCgemm |
#define | gpublasXgemm gpublasCgemm |
Functions | |
static void | gpuAssert (int status, const char *file, int line) |
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, int wantDebug, int useGPU, intptr_t *gpublasHandle) |
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, int wantDebug, int useGPU, intptr_t *gpublasHandle) |
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, int wantDebug, int useGPU, intptr_t *gpublasHandle) |
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, int wantDebug, int useGPU, intptr_t *gpublasHandle) |
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, int wantDebug, int useGPU, intptr_t *gpublasHandle) |
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, int wantDebug, int useGPU, intptr_t *gpublasHandle) |
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, int wantDebug, int useGPU, intptr_t *gpublasHandle) |
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, int wantDebug, int useGPU, intptr_t *gpublasHandle) |
Variables | |
int | gpuMemcpyHostToDevice |
int | gpuMemcpyDeviceToHost |
#define BLAS_KIND c_int |
#define C_INT_MPI_TYPE int |
#define C_INT_MPI_TYPE_PTR int* |
#define C_INT_TYPE int |
#define C_INT_TYPE_PTR int* |
#define COMPLEXCASE 1 |
#define COMPLEXCASE 1 |
#define cublasXgemm cublasDgemm |
#define cublasXgemm cublasSgemm |
#define cublasXgemm cublasZgemm |
#define cublasXgemm cublasCgemm |
#define DOUBLE_PRECISION 1 |
#define DOUBLE_PRECISION 1 |
#define gpublasXgemm gpublasDgemm |
#define gpublasXgemm gpublasSgemm |
#define gpublasXgemm gpublasZgemm |
#define gpublasXgemm gpublasCgemm |
#define gpuErrCheck | ( | ans | ) | { gpuAssert((ans), __FILE__, __LINE__); } |
#define MPI_KIND c_int |
#define NVTX_RANGE_POP | ( | ) | ((void)0) |
#define NVTX_RANGE_PUSH | ( | msg | ) | ((void)0) |
#define REALCASE 1 |
#define REALCASE 1 |
#define SINGLE_PRECISION 1 |
#define SINGLE_PRECISION 1 |
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, | ||
int | wantDebug, | ||
int | useGPU, | ||
intptr_t * | gpublasHandle ) |
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, | ||
int | wantDebug, | ||
int | useGPU, | ||
intptr_t * | gpublasHandle ) |
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, | ||
int | wantDebug, | ||
int | useGPU, | ||
intptr_t * | gpublasHandle ) |
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, | ||
int | wantDebug, | ||
int | useGPU, | ||
intptr_t * | gpublasHandle ) |
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, | ||
int | wantDebug, | ||
int | useGPU, | ||
intptr_t * | gpublasHandle ) |
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, | ||
int | wantDebug, | ||
int | useGPU, | ||
intptr_t * | gpublasHandle ) |
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, | ||
int | wantDebug, | ||
int | useGPU, | ||
intptr_t * | gpublasHandle ) |
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, | ||
int | wantDebug, | ||
int | useGPU, | ||
intptr_t * | gpublasHandle ) |
|
inlinestatic |
int gpuMemcpyDeviceToHost |
int gpuMemcpyHostToDevice |