![]() |
(git:b77b4be)
|
#include <assert.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include "../common/grid_common.h"
#include "grid_dgemm_tensor_local.h"
#include "grid_dgemm_utils.h"
Go to the source code of this file.
Functions | |
void | convert_to_lattice_coordinates (const double dh_inv_[3][3], const double *restrict const rp, double *restrict rp_c) |
void | dgemm_simplified (dgemm_params *const m) |
void | batched_dgemm_simplified (dgemm_params *const m, const int batch_size) |
void | extract_sub_grid (const int *lower_corner, const int *upper_corner, const int *position, const tensor *const grid, tensor *const subgrid) |
void | add_sub_grid (const int *lower_corner, const int *upper_corner, const int *position, const tensor *subgrid, tensor *grid) |
int | compute_cube_properties (const bool ortho, const double radius, const double dh[3][3], const double dh_inv[3][3], const double *rp, double *disr_radius, double *roffset, int *cubecenter, int *lb_cube, int *ub_cube, int *cube_size) |
void | return_cube_position (const int *const lb_grid, const int *const cube_center, const int *const lower_boundaries_cube, const int *const period, int *const position) |
void | verify_orthogonality (const double dh[3][3], bool orthogonal[3]) |
void | dger_ (const int *M, const int *N, const double *alpha, const double *X, const int *incX, const double *Y, const int *incY, double *A, const int *lda) |
void | dgemv_ (const char *Trans, const int *M, const int *N, const double *alpha, const double *A, const int *lda, const double *X, const int *incX, const double *beta, double *Y, const int *incY) |
void | cblas_daxpy (const int N, const double alpha, const double *X, const int incX, double *Y, const int incY) |
double | cblas_ddot (const int N, const double *X, const int incX, const double *Y, const int incY) |
void | cblas_dger (const CBLAS_LAYOUT Layout, const int M, const int N, const double alpha, const double *X, const int incX, const double *Y, const int incY, double *A, const int lda) |
void | cblas_dgemv (const CBLAS_LAYOUT order, const CBLAS_TRANSPOSE TransA, const int M, const int N, const double alpha, const double *A, const int lda, const double *X, const int incX, const double beta, double *Y, const int incY) |
void | compute_interval (const int *const map, const int full_size, const int size, const int cube_size, const int x1, int *x, int *const lower_corner, int *const upper_corner, const Interval window) |
void convert_to_lattice_coordinates | ( | const double | dh_inv_[3][3], |
const double *restrict const | rp, | ||
double *restrict | rp_c | ||
) |
Definition at line 27 of file grid_dgemm_utils.c.
void dgemm_simplified | ( | dgemm_params *const | m | ) |
Definition at line 40 of file grid_dgemm_utils.c.
void batched_dgemm_simplified | ( | dgemm_params *const | m, |
const int | batch_size | ||
) |
int compute_cube_properties | ( | const bool | ortho, |
const double | radius, | ||
const double | dh[3][3], | ||
const double | dh_inv[3][3], | ||
const double * | rp, | ||
double * | disr_radius, | ||
double * | roffset, | ||
int * | cubecenter, | ||
int * | lb_cube, | ||
int * | ub_cube, | ||
int * | cube_size | ||
) |
Definition at line 270 of file grid_dgemm_utils.c.
void return_cube_position | ( | const int *const | lb_grid, |
const int *const | cube_center, | ||
const int *const | lower_boundaries_cube, | ||
const int *const | period, | ||
int *const | position | ||
) |
void verify_orthogonality | ( | const double | dh[3][3], |
bool | orthogonal[3] | ||
) |
|
extern |
|
extern |
void cblas_daxpy | ( | const int | N, |
const double | alpha, | ||
const double * | X, | ||
const int | incX, | ||
double * | Y, | ||
const int | incY | ||
) |
double cblas_ddot | ( | const int | N, |
const double * | X, | ||
const int | incX, | ||
const double * | Y, | ||
const int | incY | ||
) |
void cblas_dger | ( | const CBLAS_LAYOUT | Layout, |
const int | M, | ||
const int | N, | ||
const double | alpha, | ||
const double * | X, | ||
const int | incX, | ||
const double * | Y, | ||
const int | incY, | ||
double * | A, | ||
const int | lda | ||
) |
Definition at line 468 of file grid_dgemm_utils.c.
void cblas_dgemv | ( | const CBLAS_LAYOUT | order, |
const CBLAS_TRANSPOSE | TransA, | ||
const int | M, | ||
const int | N, | ||
const double | alpha, | ||
const double * | A, | ||
const int | lda, | ||
const double * | X, | ||
const int | incX, | ||
const double | beta, | ||
double * | Y, | ||
const int | incY | ||
) |
Definition at line 480 of file grid_dgemm_utils.c.
void compute_interval | ( | const int *const | map, |
const int | full_size, | ||
const int | size, | ||
const int | cube_size, | ||
const int | x1, | ||
int * | x, | ||
int *const | lower_corner, | ||
int *const | upper_corner, | ||
const Interval | window | ||
) |
Definition at line 501 of file grid_dgemm_utils.c.