AI Engine API User Guide (AIE) 2023.2
Loading...
Searching...
No Matches
aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step > Struct Template Reference

#include <accumulate.hpp>

Public Types

using accum_tag = accum_tag_for_mul_types< T_Coeff, T_Data, AccumBits >
 
using accum_type = accum< accum_tag, Lanes >
 
using coeff_vector_type = vector< T_Coeff, N_Coeff >
 
using consume_terms_type = consume_terms< AccumBits, Lanes, type_bits_v< T_Coeff >, T_Coeff, N_Coeff, type_bits_v< T_Data >, T_Data, Op, Step >
 
using data_vector_type = vector< T_Data, Lanes >
 

Static Public Member Functions

static accum_type run_terms (const accum_type &acc, const coeff_vector_type &coeff, unsigned coeff_idx, const data_vector_type &v)
 
template<typename... Terms>
static accum_type run_terms (const accum_type &acc, const coeff_vector_type &coeff, unsigned coeff_idx, const data_vector_type &v1, const data_vector_type &v2, const Terms &...terms)
 
static accum_type run_terms (const coeff_vector_type &coeff, unsigned coeff_idx, const data_vector_type &v)
 
template<typename... Terms>
static accum_type run_terms (const coeff_vector_type &coeff, unsigned coeff_idx, const data_vector_type &v1, const data_vector_type &v2, const Terms &...terms)
 

Member Typedef Documentation

◆ accum_tag

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data , Operation Op, int Step>
using aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step >::accum_tag = accum_tag_for_mul_types<T_Coeff, T_Data, AccumBits>

◆ accum_type

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data , Operation Op, int Step>
using aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step >::accum_type = accum<accum_tag, Lanes>

◆ coeff_vector_type

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data , Operation Op, int Step>
using aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step >::coeff_vector_type = vector<T_Coeff, N_Coeff>

◆ consume_terms_type

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data , Operation Op, int Step>
using aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step >::consume_terms_type = consume_terms<AccumBits, Lanes, type_bits_v<T_Coeff>, T_Coeff, N_Coeff, type_bits_v<T_Data>, T_Data, Op, Step>

◆ data_vector_type

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data , Operation Op, int Step>
using aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step >::data_vector_type = vector<T_Data, Lanes>

Member Function Documentation

◆ run_terms() [1/4]

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data , Operation Op, int Step>
static accum_type aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step >::run_terms ( const accum_type acc,
const coeff_vector_type coeff,
unsigned  coeff_idx,
const data_vector_type v 
)
inlinestatic

◆ run_terms() [2/4]

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data , Operation Op, int Step>
template<typename... Terms>
static accum_type aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step >::run_terms ( const accum_type acc,
const coeff_vector_type coeff,
unsigned  coeff_idx,
const data_vector_type v1,
const data_vector_type v2,
const Terms &...  terms 
)
inlinestatic

◆ run_terms() [3/4]

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data , Operation Op, int Step>
static accum_type aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step >::run_terms ( const coeff_vector_type coeff,
unsigned  coeff_idx,
const data_vector_type v 
)
inlinestatic

◆ run_terms() [4/4]

template<unsigned AccumBits, unsigned Lanes, typename T_Coeff , unsigned N_Coeff, typename T_Data , Operation Op, int Step>
template<typename... Terms>
static accum_type aie::detail::schedule_2< AccumBits, Lanes, T_Coeff, N_Coeff, T_Data, Op, Step >::run_terms ( const coeff_vector_type coeff,
unsigned  coeff_idx,
const data_vector_type v1,
const data_vector_type v2,
const Terms &...  terms 
)
inlinestatic

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