Search Results
Documentation
Contraction to *GEMM helper.
This object is used to convert tensor contraction to *GEMM operations by providing information on how to fuse dimensions
Definition at line 40 of file gemm_helper.h.
Public Member Functions | |
GemmHelper (const blas::Op left_op, const blas::Op right_op, const unsigned int result_rank, const unsigned int left_rank, const unsigned int right_rank) | |
GemmHelper (const GemmHelper &other) | |
Functor copy constructor. More... | |
GemmHelper & operator= (const GemmHelper &other) | |
Functor assignment operator. More... | |
unsigned int num_contract_ranks () const | |
Compute the number of contracted ranks. More... | |
unsigned int result_rank () const | |
Result rank accessor. More... | |
unsigned int left_rank () const | |
Left-hand argument rank accessor. More... | |
unsigned int right_rank () const | |
Right-hand argument rank accessor. More... | |
unsigned int left_inner_begin () const | |
unsigned int left_inner_end () const | |
unsigned int left_outer_begin () const | |
unsigned int left_outer_end () const | |
unsigned int right_inner_begin () const | |
unsigned int right_inner_end () const | |
unsigned int right_outer_begin () const | |
unsigned int right_outer_end () const | |
template<typename R , typename Left , typename Right > | |
R make_result_range (const Left &left, const Right &right) const | |
Construct a result range based on left and right ranges. More... | |
template<typename Left , typename Result > | |
bool left_result_congruent (const Left &left, const Result &result) const | |
template<typename Right , typename Result > | |
bool right_result_congruent (const Right &right, const Result &result) const | |
template<typename Left , typename Right > | |
bool left_right_congruent (const Left &left, const Right &right) const | |
template<typename Left , typename Right > | |
void compute_matrix_sizes (blas::integer &m, blas::integer &n, blas::integer &k, const Left &left, const Right &right) const | |
Compute the matrix dimension that can be used in a *GEMM call. More... | |
blas::Op left_op () const | |
blas::Op right_op () const | |
Constructor & Destructor Documentation
◆ GemmHelper() [1/2]
◆ GemmHelper() [2/2]
|
inline |
Functor copy constructor.
Shallow copy of this functor
- Parameters
-
other The functor to be copied
Definition at line 103 of file gemm_helper.h.
Member Function Documentation
◆ compute_matrix_sizes()
|
inline |
Compute the matrix dimension that can be used in a *GEMM call.
- Template Parameters
-
Left The left-hand range type Right The right-hand range type
- Parameters
-
[out] m The number of rows in left-hand and result matrices [out] n The number of columns in the right-hand result matrices [out] k The number of columns in the left-hand matrix and the number of rows in the right-hand matrix [in] left The left-hand range object [in] right The right-hand range object
Definition at line 254 of file gemm_helper.h.

◆ left_inner_begin()
|
inline |
◆ left_inner_end()
|
inline |
◆ left_op()
|
inline |
◆ left_outer_begin()
|
inline |
◆ left_outer_end()
|
inline |
◆ left_rank()
|
inline |
Left-hand argument rank accessor.
- Returns
- The rank of the left-hand tile
Definition at line 138 of file gemm_helper.h.

◆ left_result_congruent()
|
inline |
Test that the outer dimensions of left are congruent (have equal extent) with that of the result tensor This function can test the start, finish, or size arrays of range objects.
- Template Parameters
-
Left The left-hand size array type Result The result size array type
- Parameters
-
left The left-hand size array to be tested result The result size array to be tested
- Returns
true
if The outer dimensions of left are congruent with that of result
Definition at line 205 of file gemm_helper.h.

◆ left_right_congruent()
|
inline |
Test that the inner dimensions of left are congruent (have equal extent) with that of right This function can test the start, finish, or size arrays of range objects.
- Template Parameters
-
Left The left-hand size array type Right The right-hand size array type
- Parameters
-
left The left-hand size array to be tested right The right-hand size array to be tested
- Returns
true
if the outer dimensions ofleft
are congruent with that ofright
, otherfalse
.
Definition at line 238 of file gemm_helper.h.

◆ make_result_range()
|
inline |
Construct a result range based on left
and right
ranges.
- Template Parameters
-
R The result range type Left The left-hand range type Right The right-hand range type
- Parameters
-
left The left-hand range right The right-hand range
- Returns
- A range object that can be used in a tensor contraction defined by this object
Definition at line 165 of file gemm_helper.h.

◆ num_contract_ranks()
|
inline |
Compute the number of contracted ranks.
- Returns
- The number of ranks that are summed by this operation
Definition at line 126 of file gemm_helper.h.

◆ operator=()
|
inline |
Functor assignment operator.
- Parameters
-
other The functor to be copied
Definition at line 113 of file gemm_helper.h.
◆ result_rank()
|
inline |
Result rank accessor.
- Returns
- The rank of the result tile
Definition at line 133 of file gemm_helper.h.

◆ right_inner_begin()
|
inline |
Definition at line 150 of file gemm_helper.h.
◆ right_inner_end()
|
inline |
Definition at line 151 of file gemm_helper.h.
◆ right_op()
|
inline |
◆ right_outer_begin()
|
inline |
◆ right_outer_end()
|
inline |
◆ right_rank()
|
inline |
Right-hand argument rank accessor.
- Returns
- The rank of the right-hand tile
Definition at line 143 of file gemm_helper.h.

◆ right_result_congruent()
|
inline |
Test that the outer dimensions of right are congruent (have equal extent) with that of the result tensor This function can test the start, finish, or size arrays of range objects.
- Template Parameters
-
Right The right-hand size array type Result The result size array type
- Parameters
-
right The right-hand size array to be tested result The result size array to be tested
- Returns
true
if The outer dimensions of right are congruent with that of result
Definition at line 221 of file gemm_helper.h.

The documentation for this class was generated from the following file:
- TiledArray/math/gemm_helper.h