![]() |
(git:f56c6e3)
|
#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 | |
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. | |
| void | grid_dgemm_free_task_list (grid_dgemm_task_list *task_list) |
| Deallocates given task list, basis_sets have to be freed separately. | |
| 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. | |
| 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 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
Definition at line 20 of file grid_dgemm_task_list.h.
| 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 568 of file grid_dgemm_context.c.
| 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 608 of file grid_dgemm_context.c.
| 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.
| 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] | ||
| ) |