AI Engine API User Guide (AIE) 2023.1
Loading...
Searching...
No Matches
aie::detail::mmul_32_32< 2, 8, 2, float, float, 32 > Struct Reference

#include <mmul_32_32.hpp>

Inheritance diagram for aie::detail::mmul_32_32< 2, 8, 2, float, float, 32 >:
aie::detail::mmul_common< 2, 8, 2, float, float > aie::detail::C_block_larger_internal< float, float, 32, 4, 2 >

Public Types

using accum_type = accum< accum_class_for_mul_types_v< float, float >, AccumBits, Elems >
 
using internal_accum_type = accum< accum_class_for_mul_types_v< float, float >, AccumBits, Elems *Ratio >
 
using vector_A_type = vector< float, 16 >
 
using vector_B_type = vector< float, 16 >
 

Public Member Functions

void mac (const vector_A_type &a, bool a_sign, const vector_B_type &b, bool b_sign)
 
void mul (const vector_A_type &a, bool a_sign, const vector_B_type &b, bool b_sign)
 
 operator accum_type () const
 
accum_type to_accum () const
 
vector< T, Elems > to_vector (int shift=0) const
 
vector< T, Elems > to_vector_sign (bool v_sign, int shift=0) const
 

Public Attributes

internal_accum_type data
 
bool zero
 

Static Public Attributes

static constexpr unsigned K
 
static constexpr unsigned M
 
static constexpr unsigned N
 

Member Typedef Documentation

◆ accum_type

using aie::detail::C_block_larger_internal< float , float , AccumBits, Elems, Ratio >::accum_type = accum<accum_class_for_mul_types_v<float , float >, AccumBits, Elems>
inherited

◆ internal_accum_type

using aie::detail::C_block_larger_internal< float , float , AccumBits, Elems, Ratio >::internal_accum_type = accum<accum_class_for_mul_types_v<float , float >, AccumBits, Elems * Ratio>
inherited

◆ vector_A_type

using aie::detail::mmul_32_32< 2, 8, 2, float, float, 32 >::vector_A_type = vector<float, 16>

◆ vector_B_type

using aie::detail::mmul_32_32< 2, 8, 2, float, float, 32 >::vector_B_type = vector<float, 16>

Member Function Documentation

◆ mac()

void aie::detail::mmul_32_32< 2, 8, 2, float, float, 32 >::mac ( const vector_A_type a,
bool  a_sign,
const vector_B_type b,
bool  b_sign 
)
inline

◆ mul()

void aie::detail::mmul_32_32< 2, 8, 2, float, float, 32 >::mul ( const vector_A_type a,
bool  a_sign,
const vector_B_type b,
bool  b_sign 
)
inline

◆ operator accum_type()

aie::detail::C_block_larger_internal< float , float , AccumBits, Elems, Ratio >::operator accum_type ( ) const
inlineinherited

◆ to_accum()

accum_type aie::detail::C_block_larger_internal< float , float , AccumBits, Elems, Ratio >::to_accum ( ) const
inlineinherited

◆ to_vector()

vector< T, Elems > aie::detail::C_block_larger_internal< float , float , AccumBits, Elems, Ratio >::to_vector ( int  shift = 0) const
inlineinherited

◆ to_vector_sign()

vector< T, Elems > aie::detail::C_block_larger_internal< float , float , AccumBits, Elems, Ratio >::to_vector_sign ( bool  v_sign,
int  shift = 0 
) const
inlineinherited

Member Data Documentation

◆ data

internal_accum_type aie::detail::C_block_larger_internal< float , float , AccumBits, Elems, Ratio >::data
inherited

◆ K

constexpr unsigned aie::detail::mmul_common< _M, _K, _N, float , float >::K
staticconstexprinherited

◆ M

constexpr unsigned aie::detail::mmul_common< _M, _K, _N, float , float >::M
staticconstexprinherited

◆ N

constexpr unsigned aie::detail::mmul_common< _M, _K, _N, float , float >::N
staticconstexprinherited

◆ zero

bool aie::detail::C_block_larger_internal< float , float , AccumBits, Elems, Ratio >::zero
inherited

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