5#ifndef GKO_PUBLIC_CORE_DISTRIBUTED_PARTITION_HELPERS_HPP_
6#define GKO_PUBLIC_CORE_DISTRIBUTED_PARTITION_HELPERS_HPP_
9#include <ginkgo/config.hpp>
15#include <ginkgo/core/base/mpi.hpp>
16#include <ginkgo/core/base/range.hpp>
20namespace experimental {
23template <
typename LocalIndexType,
typename GlobalIndexType>
43template <
typename LocalIndexType,
typename GlobalIndexType>
44std::unique_ptr<Partition<LocalIndexType, GlobalIndexType>>
61template <
typename LocalIndexType,
typename GlobalIndexType>
62std::unique_ptr<Partition<LocalIndexType, GlobalIndexType>>
Represents a partition of a range of indices [0, size) into a disjoint set of parts.
Definition partition.hpp:83
A thin wrapper of MPI_Comm that supports most MPI calls.
Definition mpi.hpp:419
The distributed namespace.
Definition polymorphic_object.hpp:19
std::unique_ptr< Partition< LocalIndexType, GlobalIndexType > > build_partition_from_local_size(std::shared_ptr< const Executor > exec, mpi::communicator comm, size_type local_size)
Builds a partition from a local size.
std::unique_ptr< Partition< LocalIndexType, GlobalIndexType > > build_partition_from_local_range(std::shared_ptr< const Executor > exec, mpi::communicator comm, span local_range)
Builds a partition from a local range.
The Ginkgo namespace.
Definition abstract_factory.hpp:20
std::size_t size_type
Integral type used for allocation quantities.
Definition types.hpp:90
A span is a lightweight structure used to create sub-ranges from other ranges.
Definition range.hpp:46