(git:3add494)
grid_dgemm_task_list.h File Reference
#include "../../offload/offload_buffer.h"
#include "../common/grid_basis_set.h"
#include "../common/grid_constants.h"
#include <stdbool.h>

Go to the source code of this file.

Typedefs

typedef struct grid_context_ grid_dgemm_task_list
 opaque pointer hidding the internal representation of the structure. It is not needed to know what exact structure for the public interface. Equivalent to private member in c++ class More...
 

Functions

void grid_dgemm_create_task_list (const bool orthorhombic, const int ntasks, const int nlevels, const int natoms, const int nkinds, const int nblocks, const int block_offsets[nblocks], const double atom_positions[natoms][3], const int atom_kinds[natoms], const grid_basis_set *basis_sets[nkinds], const int level_list[ntasks], const int iatom_list[ntasks], const int jatom_list[ntasks], const int iset_list[ntasks], const int jset_list[ntasks], const int ipgf_list[ntasks], const int jpgf_list[ntasks], const int border_mask_list[ntasks], const int block_num_list[ntasks], const double radius_list[ntasks], const double rab_list[ntasks][3], const int npts_global[nlevels][3], const int npts_local[nlevels][3], const int shift_local[nlevels][3], const int border_width[nlevels][3], const double dh[nlevels][3][3], const double dh_inv[nlevels][3][3], grid_dgemm_task_list **task_list)
 Allocates a task list for the dgemm backend. See grid_task_list.h for details. More...
 
void grid_dgemm_free_task_list (grid_dgemm_task_list *task_list)
 Deallocates given task list, basis_sets have to be freed separately. More...
 
void grid_dgemm_collocate_task_list (grid_dgemm_task_list *const task_list, const enum grid_func func, const int nlevels, const offload_buffer *pab_blocks, offload_buffer *grids[nlevels])
 Collocate all tasks of in given list onto given grids. See grid_task_list.h for details. More...
 
void grid_dgemm_integrate_task_list (void *const ptr, const bool compute_tau, const int natoms, const int nlevels, const offload_buffer *const pab_blocks, const offload_buffer *grids[nlevels], offload_buffer *hab_blocks, double forces[natoms][3], double virial[3][3])
 

Typedef Documentation

◆ grid_dgemm_task_list

opaque pointer hidding the internal representation of the structure. It is not needed to know what exact structure for the public interface. Equivalent to private member in c++ class

Definition at line 1 of file grid_dgemm_task_list.h.

Function Documentation

◆ grid_dgemm_create_task_list()

void grid_dgemm_create_task_list ( const bool  orthorhombic,
const int  ntasks,
const int  nlevels,
const int  natoms,
const int  nkinds,
const int  nblocks,
const int  block_offsets[nblocks],
const double  atom_positions[natoms][3],
const int  atom_kinds[natoms],
const grid_basis_set basis_sets[nkinds],
const int  level_list[ntasks],
const int  iatom_list[ntasks],
const int  jatom_list[ntasks],
const int  iset_list[ntasks],
const int  jset_list[ntasks],
const int  ipgf_list[ntasks],
const int  jpgf_list[ntasks],
const int  border_mask_list[ntasks],
const int  block_num_list[ntasks],
const double  radius_list[ntasks],
const double  rab_list[ntasks][3],
const int  npts_global[nlevels][3],
const int  npts_local[nlevels][3],
const int  shift_local[nlevels][3],
const int  border_width[nlevels][3],
const double  dh[nlevels][3][3],
const double  dh_inv[nlevels][3][3],
grid_dgemm_task_list **  task_list 
)

Allocates a task list for the dgemm backend. See grid_task_list.h for details.

Definition at line 559 of file grid_dgemm_context.c.

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

◆ grid_dgemm_free_task_list()

void grid_dgemm_free_task_list ( grid_dgemm_task_list task_list)

Deallocates given task list, basis_sets have to be freed separately.

Definition at line 599 of file grid_dgemm_context.c.

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

◆ grid_dgemm_collocate_task_list()

void grid_dgemm_collocate_task_list ( grid_dgemm_task_list *const  ptr,
const enum grid_func  func,
const int  nlevels,
const offload_buffer pab_blocks,
offload_buffer grids[nlevels] 
)

Collocate all tasks of in given list onto given grids. See grid_task_list.h for details.

Collocate all tasks of in given list onto given grids. See grid_task_list.h for details.

Definition at line 1233 of file grid_dgemm_collocate.c.

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

◆ grid_dgemm_integrate_task_list()

void grid_dgemm_integrate_task_list ( void *const  ptr,
const bool  compute_tau,
const int  natoms,
const int  nlevels,
const offload_buffer *const  pab_blocks,
const offload_buffer grids[nlevels],
offload_buffer hab_blocks,
double  forces[natoms][3],
double  virial[3][3] 
)