(git:b5558c7)
Loading...
Searching...
No Matches
dbm_multiply_gpu_kernel.h
Go to the documentation of this file.
1/*----------------------------------------------------------------------------*/
2/* CP2K: A general program to perform molecular dynamics simulations */
3/* Copyright 2000-2025 CP2K developers group <https://cp2k.org> */
4/* */
5/* SPDX-License-Identifier: BSD-3-Clause */
6/*----------------------------------------------------------------------------*/
7#ifndef DBM_MULTIPLY_GPU_KERNEL_H
8#define DBM_MULTIPLY_GPU_KERNEL_H
9
10#include "../offload/offload_runtime.h"
11#if defined(__OFFLOAD) && !defined(__NO_OFFLOAD_DBM)
12
13#include "dbm_internal.h"
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19/*******************************************************************************
20 * \brief Internal routine for launching the GPU kernel.
21 * All arguments are assumed to be device pointers.
22 * \author Ole Schuett
23 ******************************************************************************/
24void dbm_multiply_gpu_launch_kernel(offloadStream_t stream, double alpha,
25 int ntasks, const dbm_task_t *tasks_host,
26 const dbm_task_t *tasks,
27 const double *pack_a_data,
28 const double *pack_b_data,
29 double *shard_c_data);
30
31#ifdef __cplusplus
32}
33#endif
34
35#endif // defined(__OFFLOAD) && !defined(__NO_OFFLOAD_DBM)
36#endif
37
38// EOF
Internal struct for storing a task, ie. a single block multiplication.