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.
|
| 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 |
|
template<typename Left , typename Result >
bool TiledArray::math::GemmHelper::left_result_congruent |
( |
const Left & |
left, |
|
|
const Result & |
result |
|
) |
| const |
|
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.
template<typename Left , typename Right >
bool TiledArray::math::GemmHelper::left_right_congruent |
( |
const Left & |
left, |
|
|
const Right & |
right |
|
) |
| const |
|
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 of left
are congruent with that of right
, other false
.
Definition at line 238 of file gemm_helper.h.
template<typename Right , typename Result >
bool TiledArray::math::GemmHelper::right_result_congruent |
( |
const Right & |
right, |
|
|
const Result & |
result |
|
) |
| const |
|
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.