Ginkgo  Generated from pipelines/1589998975 branch based on develop. Ginkgo version 1.10.0
A numerical linear algebra library targeting many-core architectures
assembly.hpp
1 // SPDX-FileCopyrightText: 2017 - 2024 The Ginkgo authors
2 //
3 // SPDX-License-Identifier: BSD-3-Clause
4 
5 #ifndef GKO_PUBLIC_CORE_DISTRIBUTED_ASSEMBLY_HPP_
6 #define GKO_PUBLIC_CORE_DISTRIBUTED_ASSEMBLY_HPP_
7 
8 
9 #include <ginkgo/config.hpp>
10 
11 
12 #if GINKGO_BUILD_MPI
13 
14 
15 #include <ginkgo/core/base/device_matrix_data.hpp>
16 #include <ginkgo/core/base/mpi.hpp>
17 #include <ginkgo/core/base/range.hpp>
18 
19 
20 namespace gko {
21 namespace experimental {
22 namespace distributed {
23 
24 
25 template <typename LocalIndexType, typename GlobalIndexType>
26 class Partition;
27 
28 
44 template <typename ValueType, typename LocalIndexType, typename GlobalIndexType>
46  mpi::communicator comm,
49 
50 
51 } // namespace distributed
52 } // namespace experimental
53 } // namespace gko
54 
55 
56 #endif // GINKGO_BUILD_MPI
57 #endif // GKO_PUBLIC_CORE_DISTRIBUTED_ASSEMBLY_HPP_
gko
The Ginkgo namespace.
Definition: abstract_factory.hpp:20
gko::experimental::mpi::communicator
A thin wrapper of MPI_Comm that supports most MPI calls.
Definition: mpi.hpp:408
gko::ptr_param
This class is used for function parameters in the place of raw pointers.
Definition: utils_helper.hpp:41
gko::experimental::distributed::Partition
Represents a partition of a range of indices [0, size) into a disjoint set of parts.
Definition: assembly.hpp:26
gko::experimental::distributed::assemble_rows_from_neighbors
device_matrix_data< ValueType, GlobalIndexType > assemble_rows_from_neighbors(mpi::communicator comm, const device_matrix_data< ValueType, GlobalIndexType > &input, ptr_param< const Partition< LocalIndexType, GlobalIndexType >> partition)
Assembles device_matrix_data entries owned by this MPI rank from other ranks and communicates entries...
gko::device_matrix_data
This type is a device-side equivalent to matrix_data.
Definition: device_matrix_data.hpp:36