(git:374b731)
Loading...
Searching...
No Matches
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
15extern "C" {
16#endif
17
18/*******************************************************************************
19 * \brief Launcher for pw_real_to_complex kernel.
20 * \author Ole Schuett
21 ******************************************************************************/
22void 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 ******************************************************************************/
29void 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 ******************************************************************************/
36void 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 ******************************************************************************/
44void 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