(git:06f838d)
Loading...
Searching...
No Matches
grid_task_list_internal.h
Go to the documentation of this file.
1
/*----------------------------------------------------------------------------*/
2
/* CP2K: A general program to perform molecular dynamics simulations */
3
/* Copyright 2000-2026 CP2K developers group <https://cp2k.org> */
4
/* */
5
/* SPDX-License-Identifier: BSD-3-Clause */
6
/*----------------------------------------------------------------------------*/
7
8
#ifndef GRID_TASK_LIST_INTERNAL_H
9
#define GRID_TASK_LIST_INTERNAL_H
10
11
#include "
common/grid_basis_set.h
"
12
#include "
common/grid_common.h
"
13
#include "
common/grid_constants.h
"
14
#include "
common/grid_library.h
"
15
#include "
cpu/grid_cpu_task_list.h
"
16
#include "
dgemm/grid_dgemm_task_list.h
"
17
#include "
gpu/grid_gpu_task_list.h
"
18
#include "
ref/grid_ref_task_list.h
"
19
20
/*******************************************************************************
21
* \brief Internal representation of a task list, abstracting various backends.
22
* \author Ole Schuett
23
******************************************************************************/
24
typedef
struct
{
25
bool
empty
;
26
int
backend
;
27
int
nlevels
;
28
int (*
npts_local
)[3];
29
grid_ref_task_list
*
ref
;
30
grid_cpu_task_list
*
cpu
;
31
grid_dgemm_task_list
*
dgemm
;
32
#if (defined(__OFFLOAD_CUDA) || defined(__OFFLOAD_HIP)) && \
33
!defined(__NO_OFFLOAD_GRID)
34
grid_gpu_task_list
*gpu;
35
#endif
36
// more backends to be added here
37
}
grid_task_list_internal
;
38
39
#endif
grid_basis_set.h
grid_common.h
grid_constants.h
npts_local
static void const int const int const int const int const int const double const int const int const int npts_local[3]
Definition
grid_cpu_collint.h:167
grid_cpu_task_list.h
grid_cpu_task_list
void grid_cpu_task_list
Definition
grid_cpu_task_list.h:16
grid_dgemm_task_list.h
grid_dgemm_task_list
void grid_dgemm_task_list
opaque pointer hidding the internal representation of the structure. It is not needed to know what ex...
Definition
grid_dgemm_task_list.h:20
grid_gpu_task_list.h
grid_gpu_task_list
void grid_gpu_task_list
Definition
grid_gpu_task_list.h:20
grid_library.h
grid_ref_task_list.h
grid_ref_task_list
void grid_ref_task_list
Definition
grid_ref_task_list.h:16
grid_task_list_internal
Internal representation of a task list, abstracting various backends.
Definition
grid_task_list_internal.h:24
grid_task_list_internal::ref
grid_ref_task_list * ref
Definition
grid_task_list_internal.h:29
grid_task_list_internal::empty
bool empty
Definition
grid_task_list_internal.h:25
grid_task_list_internal::dgemm
grid_dgemm_task_list * dgemm
Definition
grid_task_list_internal.h:31
grid_task_list_internal::backend
int backend
Definition
grid_task_list_internal.h:26
grid_task_list_internal::cpu
grid_cpu_task_list * cpu
Definition
grid_task_list_internal.h:30
grid_task_list_internal::nlevels
int nlevels
Definition
grid_task_list_internal.h:27
grid
grid_task_list_internal.h
Generated by
1.9.8