(git:374b731)
Loading...
Searching...
No Matches
grid_dgemm_context.h
Go to the documentation of this file.
1/*----------------------------------------------------------------------------*/
2/* CP2K: A general program to perform molecular dynamics simulations */
3/* Copyright 2000-2024 CP2K developers group <https://cp2k.org> */
4/* */
5/* SPDX-License-Identifier: BSD-3-Clause */
6/*----------------------------------------------------------------------------*/
7
8#ifndef GRID_DGEMM_CONTEXT_H
9#define GRID_DGEMM_CONTEXT_H
10
11#include "../../offload/offload_buffer.h"
12#include "../common/grid_basis_set.h"
13
15 const bool orthorhombic, const int ntasks, const int nlevels,
16 const int natoms, const int nkinds, const int nblocks,
17 const int *block_offsets, const double atom_positions[natoms][3],
18 const int *const atom_kinds, const grid_basis_set **const basis_sets,
19 const int *const level_list, const int *const iatom_list,
20 const int *jatom_list, const int *const iset_list,
21 const int *const jset_list, const int *const ipgf_list,
22 const int *const jpgf_list, const int *const border_mask_list,
23 const int *block_num_list, const double *const radius_list,
24 const double rab_list[ntasks][3], const int npts_global[nlevels][3],
25 const int npts_local[nlevels][3], const int shift_local[nlevels][3],
26 const int border_width[nlevels][3], const double dh[nlevels][3][3],
27 const double dh_inv[nlevels][3][3]);
28
30 const bool orthorhombic, const int ntasks, const int nlevels,
31 const int natoms, const int nkinds, const int nblocks,
32 const int *block_offsets, const double atom_positions[natoms][3],
33 const int *const atom_kinds, const grid_basis_set **const basis_sets,
34 const int *const level_list, const int *const iatom_list,
35 const int *jatom_list, const int *const iset_list,
36 const int *const jset_list, const int *const ipgf_list,
37 const int *const jpgf_list, const int *const border_mask_list,
38 const int *block_num_list, const double *const radius_list,
39 const double rab_list[ntasks][3], const int npts_global[nlevels][3],
40 const int npts_local[nlevels][3], const int shift_local[nlevels][3],
41 const int border_width[nlevels][3], const double dh[nlevels][3][3],
42 const double dh_inv[nlevels][3][3], void *ptr);
43
44void initialize_grid_context_on_gpu(void *ptr, const int number_of_devices,
45 const int *device_id);
46
47void destroy_grid_context_dgemm(void *ptr);
48
49void apply_cutoff(void *ptr);
50
51void update_queue_length(void *const ptr, const int queue_length);
52
54 void *const ptr, const bool orthorhombic, const int func, const int nlevels,
55 const int npts_global[nlevels][3], const int npts_local[nlevels][3],
56 const int shift_local[nlevels][3], const int border_width[nlevels][3],
57 const double dh[nlevels][3][3], const double dh_inv[nlevels][3][3],
58 const offload_buffer *pab_blocks, double *grid[nlevels]);
59#endif
static void const int const int const int const int const int const double const int const int const int int GRID_CONST_WHEN_COLLOCATE double GRID_CONST_WHEN_INTEGRATE double * grid
static void const int const int const int const int const int const double const int const int const int npts_local[3]
void update_grid_context_dgemm(const bool orthorhombic, const int ntasks, const int nlevels, const int natoms, const int nkinds, const int nblocks, const int *block_offsets, const double atom_positions[natoms][3], const int *const atom_kinds, const grid_basis_set **const basis_sets, const int *const level_list, const int *const iatom_list, const int *jatom_list, const int *const iset_list, const int *const jset_list, const int *const ipgf_list, const int *const jpgf_list, const int *const border_mask_list, const int *block_num_list, const double *const radius_list, 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], void *ptr)
void * create_grid_context_dgemm(const bool orthorhombic, const int ntasks, const int nlevels, const int natoms, const int nkinds, const int nblocks, const int *block_offsets, const double atom_positions[natoms][3], const int *const atom_kinds, const grid_basis_set **const basis_sets, const int *const level_list, const int *const iatom_list, const int *jatom_list, const int *const iset_list, const int *const jset_list, const int *const ipgf_list, const int *const jpgf_list, const int *const border_mask_list, const int *block_num_list, const double *const radius_list, 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])
void destroy_grid_context_dgemm(void *ptr)
void grid_collocate_task_list_dgemm(void *const ptr, const bool orthorhombic, const int func, const int nlevels, 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], const offload_buffer *pab_blocks, double *grid[nlevels])
void apply_cutoff(void *ptr)
void update_queue_length(void *const ptr, const int queue_length)
void initialize_grid_context_on_gpu(void *ptr, const int number_of_devices, const int *device_id)
Internal representation of a basis set.
Internal representation of a buffer.