(git:aeba166)
Loading...
Searching...
No Matches
grid_dgemm_private_header.h File Reference
#include "grid_dgemm_tensor_local.h"
#include <assert.h>
#include <stdbool.h>
#include "../../offload/offload_buffer.h"
#include "../common/grid_basis_set.h"
#include "../common/grid_common.h"
#include "../common/grid_constants.h"

Go to the source code of this file.

Data Structures

struct  Interval
 
struct  _task
 
struct  _layout
 
struct  grid_context_
 

Typedefs

typedef struct grid_context_ grid_context
 

Enumerations

enum  checksum_ { task_checksum = 0x2384989 , ctx_checksum = 0x2356734 }
 

Functions

static void update_loop_index (const int global_grid_size, int x1, int *const x)
 
static Interval create_interval (const int xmin, const int xmax)
 
static bool is_point_in_interval (const int value, Interval x)
 
static bool intersection_interval_is_empty (const Interval x, const Interval y)
 
static Interval intersection_interval (const Interval x, const Interval y)
 
static int compute_next_boundaries (const int y1, const int y, const int grid_size, const int cube_size)
 
void grid_transform_coef_jik_to_yxz (const double dh[3][3], const tensor *coef_xyz)
 
void grid_transform_coef_xzy_to_ikj (const double dh[3][3], const tensor *coef_xyz)
 
void compute_block_boundaries (const int *blockDim, const int *lb_grid, const int *grid_size, const int *blocked_grid_size, const int *period, const int *cube_center, const int *cube_size, const int *lower_boundaries_cube, int *lower_block_corner, int *upper_block_corner, int *pol_offsets)
 
void grid_fill_pol_dgemm (const bool transpose, const double dr, const double roffset, const int pol_offset, const int xmin, const int xmax, const int lp, const int cmax, const double zetp, double *pol_)
 
void tensor_reduction_for_collocate_integrate (double *scratch, const double alpha, const bool *const orthogonal, const struct tensor_ *Exp, const struct tensor_ *co, const struct tensor_ *p_alpha_beta_reduced_, struct tensor_ *cube)
 
void set_grid_parameters (tensor *grid, const bool orthorhombic, const int grid_full_size[3], const int grid_local_size[3], const int shift_local[3], const int border_width[3], const double dh[3][3], const double dh_inv[3][3], offload_buffer *grid_)
 
void collocate_one_grid_level_dgemm (grid_context *const ctx, const int *const, const int *const, const enum grid_func func, const int level, const offload_buffer *pab_blocks)
 
void integrate_one_grid_level_dgemm (grid_context *const ctx, const int level, const bool calculate_tau, const bool calculate_forces, const bool calculate_virial, const int *const shift_local, const int *const border_width, const offload_buffer *const pab_blocks, offload_buffer *const hab_blocks, tensor *forces_, tensor *virial_)
 
void compute_coefficients (grid_context *const ctx, struct collocation_integration_ *handler, const _task *previous_task, const _task *task, const offload_buffer *pab_blocks, tensor *const pab, tensor *const work, tensor *const pab_prep)
 
void extract_blocks (grid_context *const ctx, const _task *const task, const offload_buffer *pab_blocks, tensor *const work, tensor *const pab)
 

Typedef Documentation

◆ grid_context

typedef struct grid_context_ grid_context

Enumeration Type Documentation

◆ checksum_

enum checksum_
Enumerator
task_checksum 
ctx_checksum 

Definition at line 19 of file grid_dgemm_private_header.h.

Function Documentation

◆ update_loop_index()

static void update_loop_index ( const int  global_grid_size,
int  x1,
int *const  x 
)
inlinestatic

Definition at line 91 of file grid_dgemm_private_header.h.

Here is the caller graph for this function:

◆ create_interval()

static Interval create_interval ( const int  xmin,
const int  xmax 
)
inlinestatic

Definition at line 96 of file grid_dgemm_private_header.h.

◆ is_point_in_interval()

static bool is_point_in_interval ( const int  value,
Interval  x 
)
inlinestatic

Definition at line 103 of file grid_dgemm_private_header.h.

Here is the caller graph for this function:

◆ intersection_interval_is_empty()

static bool intersection_interval_is_empty ( const Interval  x,
const Interval  y 
)
inlinestatic

Definition at line 107 of file grid_dgemm_private_header.h.

◆ intersection_interval()

static Interval intersection_interval ( const Interval  x,
const Interval  y 
)
inlinestatic

Definition at line 116 of file grid_dgemm_private_header.h.

Here is the call graph for this function:

◆ compute_next_boundaries()

static int compute_next_boundaries ( const int  y1,
const int  y,
const int  grid_size,
const int  cube_size 
)
inlinestatic

Definition at line 124 of file grid_dgemm_private_header.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ grid_transform_coef_jik_to_yxz()

void grid_transform_coef_jik_to_yxz ( const double  dh[3][3],
const tensor coef_xyz 
)
extern

Definition at line 305 of file grid_dgemm_coefficients.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ grid_transform_coef_xzy_to_ikj()

void grid_transform_coef_xzy_to_ikj ( const double  dh[3][3],
const tensor coef_xyz 
)
extern

Definition at line 213 of file grid_dgemm_coefficients.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_block_boundaries()

void compute_block_boundaries ( const int *  blockDim,
const int *  lb_grid,
const int *  grid_size,
const int *  blocked_grid_size,
const int *  period,
const int *  cube_center,
const int *  cube_size,
const int *  lower_boundaries_cube,
int *  lower_block_corner,
int *  upper_block_corner,
int *  pol_offsets 
)
extern

◆ grid_fill_pol_dgemm()

void grid_fill_pol_dgemm ( const bool  transpose,
const double  dr,
const double  roffset,
const int  pol_offset,
const int  xmin,
const int  xmax,
const int  lp,
const int  cmax,
const double  zetp,
double *  pol_ 
)
extern

Definition at line 128 of file grid_dgemm_collocate.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tensor_reduction_for_collocate_integrate()

void tensor_reduction_for_collocate_integrate ( double *  scratch,
const double  alpha,
const bool *const  orthogonal,
const struct tensor_ Exp,
const struct tensor_ co,
const struct tensor_ p_alpha_beta_reduced_,
struct tensor_ cube 
)
extern

Definition at line 485 of file grid_dgemm_collocate.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_grid_parameters()

void set_grid_parameters ( tensor grid,
const bool  orthorhombic,
const int  grid_full_size[3],
const int  grid_local_size[3],
const int  shift_local[3],
const int  border_width[3],
const double  dh[3][3],
const double  dh_inv[3][3],
offload_buffer grid_ 
)
extern

Definition at line 491 of file grid_dgemm_context.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ collocate_one_grid_level_dgemm()

void collocate_one_grid_level_dgemm ( grid_context *const  ctx,
const int * const  border_width,
const int * const  shift_local,
const enum grid_func  func,
const int  level,
const offload_buffer pab_blocks 
)
extern

Definition at line 1084 of file grid_dgemm_collocate.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ integrate_one_grid_level_dgemm()

void integrate_one_grid_level_dgemm ( grid_context *const  ctx,
const int  level,
const bool  calculate_tau,
const bool  calculate_forces,
const bool  calculate_virial,
const int *const  shift_local,
const int *const  border_width,
const offload_buffer *const  pab_blocks,
offload_buffer *const  hab_blocks,
tensor forces_,
tensor virial_ 
)
extern

Definition at line 752 of file grid_dgemm_integrate.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_coefficients()

void compute_coefficients ( grid_context *const  ctx,
struct collocation_integration_ handler,
const _task previous_task,
const _task task,
const offload_buffer pab_blocks,
tensor *const  pab,
tensor *const  work,
tensor *const  pab_prep 
)
extern

Definition at line 1010 of file grid_dgemm_collocate.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extract_blocks()

void extract_blocks ( grid_context *const  ctx,
const _task *const  task,
const offload_buffer pab_blocks,
tensor *const  work,
tensor *const  pab 
)
extern

Definition at line 983 of file grid_dgemm_collocate.c.

Here is the call graph for this function:
Here is the caller graph for this function: