Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Types | Public Attributes | List of all members
uni20::linalg::ContractionStrideGroups< LhsRank, RhsRank, ContractedRank > Struct Template Reference

M, N, and K stride groups for a normalized pairwise contraction. More...

#include <contraction_strides.hpp>

Collaboration diagram for uni20::linalg::ContractionStrideGroups< LhsRank, RhsRank, ContractedRank >:
[legend]

Public Types

using axes_type = ContractionAxes< LhsRank, RhsRank, ContractedRank >
 

Public Attributes

static_vector< extent_strides< 2 >, axes_type::contracted_rank > k
 
static_vector< extent_strides< 2 >, axes_type::lhs_surviving_rank > m
 
static_vector< extent_strides< 2 >, axes_type::rhs_surviving_rank > n
 

Detailed Description

template<std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank>
struct uni20::linalg::ContractionStrideGroups< LhsRank, RhsRank, ContractedRank >

M, N, and K stride groups for a normalized pairwise contraction.

M dimensions pair left-input and output strides, N dimensions pair right-input and output strides, and K dimensions pair the two input strides. Dimensions merge only when both participating mappings admit the same linearization.

Member Typedef Documentation

◆ axes_type

template<std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank>
using uni20::linalg::ContractionStrideGroups< LhsRank, RhsRank, ContractedRank >::axes_type = ContractionAxes<LhsRank, RhsRank, ContractedRank>

Member Data Documentation

◆ k

template<std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank>
static_vector<extent_strides<2>, axes_type::contracted_rank> uni20::linalg::ContractionStrideGroups< LhsRank, RhsRank, ContractedRank >::k

◆ m

template<std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank>
static_vector<extent_strides<2>, axes_type::lhs_surviving_rank> uni20::linalg::ContractionStrideGroups< LhsRank, RhsRank, ContractedRank >::m

◆ n

template<std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank>
static_vector<extent_strides<2>, axes_type::rhs_surviving_rank> uni20::linalg::ContractionStrideGroups< LhsRank, RhsRank, ContractedRank >::n

The documentation for this struct was generated from the following file: