(git:34ef472)
pw_gpu_kernels.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: GPL-2.0-or-later */
6 /*----------------------------------------------------------------------------*/
7 
8 #ifndef PW_GPU_KERNELS_H
9 #define PW_GPU_KERNELS_H
10 
11 #include "../../offload/offload_runtime.h"
12 #if defined(__OFFLOAD) && !defined(__NO_OFFLOAD_PW)
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 /*******************************************************************************
19  * \brief Launcher for pw_real_to_complex kernel.
20  * \author Ole Schuett
21  ******************************************************************************/
22 void pw_gpu_launch_real_to_complex(const double *din, double *zout,
23  const int ngpts, offloadStream_t stream);
24 
25 /*******************************************************************************
26  * \brief Launcher for pw_complex_to_real kernel.
27  * \author Ole Schuett
28  ******************************************************************************/
29 void pw_gpu_launch_complex_to_real(const double *zin, double *dout,
30  const int ngpts, offloadStream_t stream);
31 
32 /*******************************************************************************
33  * \brief Launcher for pw_gather kernel.
34  * \author Ole Schuett
35  ******************************************************************************/
36 void pw_gpu_launch_gather(double *pwcc, const double *c, const double scale,
37  const int ngpts, const int *ghatmap,
38  offloadStream_t stream);
39 
40 /*******************************************************************************
41  * \brief Launcher for pw_scatter kernel.
42  * \author Ole Schuett
43  ******************************************************************************/
44 void pw_gpu_launch_scatter(double *c, const double *pwcc, const double scale,
45  const int ngpts, const int nmaps, const int *ghatmap,
46  offloadStream_t stream);
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
52 #endif // defined(__OFFLOAD) && !defined(__NO_OFFLOAD_PW)
53 #endif
54 
55 // EOF
real(dp), dimension(3) c
Definition: ai_eri_debug.F:31