|
Ginkgo
Generated from pipelines/1330831941 branch based on master. Ginkgo version 1.8.0
A numerical linear algebra library targeting many-core architectures
|
5 #ifndef GKO_PUBLIC_CORE_DISTRIBUTED_INDEX_MAP_HPP_
6 #define GKO_PUBLIC_CORE_DISTRIBUTED_INDEX_MAP_HPP_
9 #include <ginkgo/core/base/segmented_array.hpp>
10 #include <ginkgo/core/distributed/partition.hpp>
14 namespace experimental {
15 namespace distributed {
67 template <
typename LocalIndexType,
typename GlobalIndexType =
int64>
111 index_map(std::shared_ptr<const Executor> exec,
112 std::shared_ptr<const partition_type> partition,
119 index_map(std::shared_ptr<const Executor> exec);
166 std::shared_ptr<const Executor> exec_;
167 std::shared_ptr<const partition_type> partition_;
181 #endif // GKO_PUBLIC_CORE_DISTRIBUTED_INDEX_MAP_HPP_
both local and non_local indices
indices that are locally owned
const segmented_array< LocalIndexType > & get_remote_local_idxs() const
get the index set , but mapped to their respective local index space.
const array< comm_index_type > & get_remote_target_ids() const
get the rank ids which contain indices accessed by this rank.
std::size_t size_type
Integral type used for allocation quantities.
Definition: types.hpp:108
index_map(std::shared_ptr< const Executor > exec, std::shared_ptr< const partition_type > partition, comm_index_type rank, const array< GlobalIndexType > &recv_connections)
Creates a new index map.
size_type get_local_size() const
get size of index_space::local
The Ginkgo namespace.
Definition: abstract_factory.hpp:20
This class defines mappings between global and local indices.
Definition: index_map.hpp:68
const segmented_array< GlobalIndexType > & get_remote_global_idxs() const
get the index set for this rank.
array< LocalIndexType > map_to_local(const array< GlobalIndexType > &global_ids, index_space index_space_v) const
Maps global indices to local indices.
Represents a partition of a range of indices [0, size) into a disjoint set of parts.
Definition: matrix.hpp:136
indices that are owned by other processes
size_type get_non_local_size() const
get size of index_space::non_local
index_space
Index space classification for the locally stored indices.
Definition: index_map.hpp:23
size_type get_global_size() const
get size of index_space::local
std::shared_ptr< const Executor > get_executor() const
get the associated executor.
int comm_index_type
Index type for enumerating processes in a distributed application.
Definition: types.hpp:806