(git:b5558c7)
Loading...
Searching...
No Matches
dbm_multiply_comm.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_COMM_H
8#define DBM_MULTIPLY_COMM_H
9
10#include "dbm_distribution.h"
11#include "dbm_internal.h"
12#include "dbm_matrix.h"
13
14#include <stdbool.h>
15
16/*******************************************************************************
17 * \brief Internal struct for storing a packed matrix.
18 * \author Ole Schuett
19 ******************************************************************************/
29
30/*******************************************************************************
31 * \brief Internal struct for storing a communication iterator.
32 * \author Ole Schuett
33 ******************************************************************************/
41
42/*******************************************************************************
43 * \brief Internal routine for creating a communication iterator.
44 * \author Ole Schuett
45 ******************************************************************************/
47 const bool transb,
48 const dbm_matrix_t *matrix_a,
49 const dbm_matrix_t *matrix_b,
50 const dbm_matrix_t *matrix_c);
51
52/*******************************************************************************
53 * \brief Internal routine for retriving next pair of packs from given iterator.
54 * \author Ole Schuett
55 ******************************************************************************/
57 dbm_pack_t **pack_b);
58
59/*******************************************************************************
60 * \brief Internal routine for releasing the given communication iterator.
61 * \author Ole Schuett
62 ******************************************************************************/
64
65#endif
66
67// EOF
dbm_comm_iterator_t * dbm_comm_iterator_start(const bool transa, const bool transb, const dbm_matrix_t *matrix_a, const dbm_matrix_t *matrix_b, const dbm_matrix_t *matrix_c)
Internal routine for creating a communication iterator.
void dbm_comm_iterator_stop(dbm_comm_iterator_t *iter)
Internal routine for releasing the given communication iterator.
bool dbm_comm_iterator_next(dbm_comm_iterator_t *iter, dbm_pack_t **pack_a, dbm_pack_t **pack_b)
Internal routine for retriving next pair of packs from given iterator.
Internal struct for storing a communication iterator.
dbm_packed_matrix_t packed_a
dbm_distribution_t * dist
dbm_packed_matrix_t packed_b
Internal struct for storing a one dimensional distribution.
Internal struct for storing a two dimensional distribution.
Internal struct for storing a matrix.
Definition dbm_matrix.h:19
Internal struct for storing a pack - essentially a shard for MPI.
Internal struct for storing a packed matrix.
const dbm_dist_1d_t * dist_ticks
const dbm_dist_1d_t * dist_indices