(git:cd590b0)
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()

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

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

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

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

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

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 302 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 210 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 124 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 481 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 484 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 1080 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 745 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 1006 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 979 of file grid_dgemm_collocate.c.

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