|
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_MATRIX_ROW_GATHERER_HPP_
6 #define GKO_PUBLIC_CORE_MATRIX_ROW_GATHERER_HPP_
15 #include <ginkgo/core/base/array.hpp>
16 #include <ginkgo/core/base/exception.hpp>
17 #include <ginkgo/core/base/exception_helpers.hpp>
18 #include <ginkgo/core/base/executor.hpp>
19 #include <ginkgo/core/base/lin_op.hpp>
20 #include <ginkgo/core/base/types.hpp>
21 #include <ginkgo/core/base/utils.hpp>
43 template <
typename IndexType =
int32>
48 using index_type = IndexType;
77 static std::unique_ptr<RowGatherer>
create(
78 std::shared_ptr<const Executor> exec,
const dim<2>& size = {});
94 static std::unique_ptr<RowGatherer>
create(
95 std::shared_ptr<const Executor> exec,
const dim<2>& size,
109 std::shared_ptr<const Executor> exec,
const dim<2>& size,
110 gko::detail::const_array_view<IndexType>&& row_idxs);
113 RowGatherer(std::shared_ptr<const Executor> exec,
const dim<2>& size = {});
115 RowGatherer(std::shared_ptr<const Executor> exec,
const dim<2>& size,
116 array<index_type> row_idxs);
118 void apply_impl(
const LinOp* in,
LinOp* out)
const override;
120 void apply_impl(
const LinOp* alpha,
const LinOp* in,
const LinOp* beta,
121 LinOp* out)
const override;
132 #endif // GKO_PUBLIC_CORE_MATRIX_ROW_GATHERER_HPP_
Definition: lin_op.hpp:118
RowGatherer is a matrix "format" which stores the gather indices arrays which can be used to gather r...
Definition: row_gatherer.hpp:44
The Ginkgo namespace.
Definition: abstract_factory.hpp:20
static std::unique_ptr< const RowGatherer > create_const(std::shared_ptr< const Executor > exec, const dim< 2 > &size, gko::detail::const_array_view< IndexType > &&row_idxs)
Creates a constant (immutable) RowGatherer matrix from a constant array.
value_type * get_data() noexcept
Returns a pointer to the block of memory used to store the elements of the array.
Definition: array.hpp:674
static std::unique_ptr< RowGatherer > create(std::shared_ptr< const Executor > exec, const dim< 2 > &size={})
Creates uninitialized RowGatherer arrays of the specified size.
const value_type * get_const_data() const noexcept
Returns a constant pointer to the block of memory used to store the elements of the array.
Definition: array.hpp:683
index_type * get_row_idxs() noexcept
Returns a pointer to the row index array for gathering.
Definition: row_gatherer.hpp:55
const index_type * get_const_row_idxs() const noexcept
Returns a pointer to the row index array for gathering.
Definition: row_gatherer.hpp:64
The EnableLinOp mixin can be used to provide sensible default implementations of the majority of the ...
Definition: lin_op.hpp:878
LinOp(const LinOp &)=default
Copy-constructs a LinOp.
This mixin inherits from (a subclass of) PolymorphicObject and provides a base implementation of a ne...
Definition: polymorphic_object.hpp:662