AI Engine-ML Intrinsics User Guide (v2025.1)
Loading...
Searching...
No Matches
Emulated Multiply-accumulate of Complex Float and Float datatypes

Elementwise operations based on the already emulated FP32 operations (see intr_gpvectorop_mul_emul_float). These operations might not have optimal performance. More...

Overview

Elementwise operations based on the already emulated FP32 operations (see intr_gpvectorop_mul_emul_float). These operations might not have optimal performance.

Elementwise operations based on the already emulated FP32 operations (see intr_gpvectorop_mul_emul_float). These operations might not have optimal performance. For an explanation how these operations works and the different accuracies provided, please refer to Multiply Accumulate.

For an explanation how these operations works and the different accuracies provided, please refer to Multiply Accumulate.

Functions

_INLINE v8caccfloat mac_elem_8_conf (v8float v1, v8cfloat v2, v8caccfloat acc, int zero_acc, int sub_mask, int sub_mul, int sub_acc1)
 
_INLINE v8caccfloat msc_elem_8_conf (v8float v1, v8cfloat v2, v8caccfloat acc, int zero_acc, int sub_mask, int sub_mul, int sub_acc1)
 
_INLINE v8caccfloat mul_elem_8_conf (v8float v1, v8cfloat v2, int sub_mask, int sub_mul)
 
_INLINE v8caccfloat negmul_elem_8_conf (v8float v1, v8cfloat v2, int sub_mask, int sub_mul)
 

Emulated element-wise multiplication of complex float and complex float

v8caccfloat mul_elem_8_conf (v8cfloat v1, v8cfloat v2, int sub_mul)
 
v8caccfloat negmul_elem_8_conf (v8cfloat v1, v8cfloat v2, int sub_mul)
 

Emulated element-wise multiplication of float and complex float

v8caccfloat mul_elem_8_conf (v8float v1, v8cfloat v2, int sub_mul)
 
v8caccfloat mul_elem_8_conf (v8cfloat v1, v8float v2, int sub_mul)
 

Emulated Multiplication of Channel by channel complex multiplication of float and cfloat with dynamic negation of multiplication result, negation of acc1, and zeroing of acc1

v8caccfloat mac_elem_8_conf (v8float v1, v8cfloat v2, v8caccfloat acc, int zero_acc, int sub_mul, int sub_acc1)
 
v8caccfloat mac_elem_8_conf (v8cfloat v1, v8float v2, v8caccfloat acc, int zero_acc, int sub_mul, int sub_acc1)
 
v8caccfloat msc_elem_8_conf (v8float v1, v8cfloat v2, v8caccfloat acc, int zero_acc, int sub_mul, int sub_acc1)
 
v8caccfloat msc_elem_8_conf (v8cfloat v1, v8float v2, v8caccfloat acc, int zero_acc, int sub_mul, int sub_acc1)
 

Emulated Multiplication of Channel by channel complex multiplication of cfloat and cfloat with dynamic negation of multiplication result, negation of acc1, and zeroing of acc1

v8caccfloat mac_elem_8_conf (v8cfloat v1, v8cfloat v2, v8caccfloat acc, int zero_acc, int sub_mul, int sub_acc1)
 
v8caccfloat msc_elem_8_conf (v8cfloat v1, v8cfloat v2, v8caccfloat acc, int zero_acc, int sub_mul, int sub_acc1)
 
v8caccfloat negmsc_elem_8_conf (v8cfloat v1, v8cfloat v2, v8caccfloat acc, int zero_acc, int sub_mul, int sub_acc1)
 

Function Documentation

◆ mac_elem_8_conf() [1/4]

v8caccfloat mac_elem_8_conf ( v8cfloat  v1,
v8cfloat  v2,
v8caccfloat  acc,
int  zero_acc,
int  sub_mul,
int  sub_acc1 
)
Parameters
v1Vector A
v2Vector B
accAccumulator 1 input
zero_accZeroing mask for acc1
sub_mulNegation mask of multiplication result
sub_acc1Negation mask of acc1
Returns
Result of operation

◆ mac_elem_8_conf() [2/4]

v8caccfloat mac_elem_8_conf ( v8cfloat  v1,
v8float  v2,
v8caccfloat  acc,
int  zero_acc,
int  sub_mul,
int  sub_acc1 
)
Parameters
v1Vector A
v2Vector B
accAccumulator 1 input
zero_accZeroing mask for acc1
sub_mulNegation mask of multiplication result
sub_acc1Negation mask of acc1
Returns
Result of operation

◆ mac_elem_8_conf() [3/4]

_INLINE v8caccfloat mac_elem_8_conf ( v8float  v1,
v8cfloat  v2,
v8caccfloat  acc,
int  zero_acc,
int  sub_mask,
int  sub_mul,
int  sub_acc1 
)
Parameters
v1Matrix A
v2Matrix B
accAccumulator 1 input
Returns
Result of operation

◆ mac_elem_8_conf() [4/4]

v8caccfloat mac_elem_8_conf ( v8float  v1,
v8cfloat  v2,
v8caccfloat  acc,
int  zero_acc,
int  sub_mul,
int  sub_acc1 
)
Parameters
v1Vector A
v2Vector B
accAccumulator 1 input
zero_accZeroing mask for acc1
sub_mulNegation mask of multiplication result
sub_acc1Negation mask of acc1
Returns
Result of operation

◆ msc_elem_8_conf() [1/4]

v8caccfloat msc_elem_8_conf ( v8cfloat  v1,
v8cfloat  v2,
v8caccfloat  acc,
int  zero_acc,
int  sub_mul,
int  sub_acc1 
)
Parameters
v1Vector A
v2Vector B
accAccumulator 1 input
zero_accZeroing mask for acc1
sub_mulNegation mask of multiplication result
sub_acc1Negation mask of acc1
Returns
Result of operation

◆ msc_elem_8_conf() [2/4]

v8caccfloat msc_elem_8_conf ( v8cfloat  v1,
v8float  v2,
v8caccfloat  acc,
int  zero_acc,
int  sub_mul,
int  sub_acc1 
)
Parameters
v1Vector A
v2Vector B
accAccumulator 1 input
zero_accZeroing mask for acc1
sub_mulNegation mask of multiplication result
sub_acc1Negation mask of acc1
Returns
Result of operation

◆ msc_elem_8_conf() [3/4]

_INLINE v8caccfloat msc_elem_8_conf ( v8float  v1,
v8cfloat  v2,
v8caccfloat  acc,
int  zero_acc,
int  sub_mask,
int  sub_mul,
int  sub_acc1 
)
Parameters
v1Matrix A
v2Matrix B
accAccumulator 1 input
Returns
Result of operation

◆ msc_elem_8_conf() [4/4]

v8caccfloat msc_elem_8_conf ( v8float  v1,
v8cfloat  v2,
v8caccfloat  acc,
int  zero_acc,
int  sub_mul,
int  sub_acc1 
)
Parameters
v1Vector A
v2Vector B
accAccumulator 1 input
zero_accZeroing mask for acc1
sub_mulNegation mask of multiplication result
sub_acc1Negation mask of acc1
Returns
Result of operation

◆ mul_elem_8_conf() [1/4]

v8caccfloat mul_elem_8_conf ( v8cfloat  v1,
v8cfloat  v2,
int  sub_mul 
)
Parameters
v1Vector A
v2Vector B
sub_mulNegation mask of multiplication result
Returns
Result of operation

◆ mul_elem_8_conf() [2/4]

v8caccfloat mul_elem_8_conf ( v8cfloat  v1,
v8float  v2,
int  sub_mul 
)
Parameters
v1Vector A
v2Vector B
sub_mulNegation mask of multiplication result
Returns
Result of operation

◆ mul_elem_8_conf() [3/4]

_INLINE v8caccfloat mul_elem_8_conf ( v8float  v1,
v8cfloat  v2,
int  sub_mask,
int  sub_mul 
)
Parameters
v1Matrix A
v2Matrix B
Returns
Result of operation

◆ mul_elem_8_conf() [4/4]

v8caccfloat mul_elem_8_conf ( v8float  v1,
v8cfloat  v2,
int  sub_mul 
)
Parameters
v1Vector A
v2Vector B
sub_mulNegation mask of multiplication result
Returns
Result of operation

◆ negmsc_elem_8_conf()

v8caccfloat negmsc_elem_8_conf ( v8cfloat  v1,
v8cfloat  v2,
v8caccfloat  acc,
int  zero_acc,
int  sub_mul,
int  sub_acc1 
)
Parameters
v1Vector A
v2Vector B
accAccumulator 1 input
zero_accZeroing mask for acc1
sub_mulNegation mask of multiplication result
sub_acc1Negation mask of acc1
Returns
Result of operation

◆ negmul_elem_8_conf() [1/2]

v8caccfloat negmul_elem_8_conf ( v8cfloat  v1,
v8cfloat  v2,
int  sub_mul 
)
Parameters
v1Vector A
v2Vector B
sub_mulNegation mask of multiplication result
Returns
Result of operation

◆ negmul_elem_8_conf() [2/2]

_INLINE v8caccfloat negmul_elem_8_conf ( v8float  v1,
v8cfloat  v2,
int  sub_mask,
int  sub_mul 
)
Parameters
v1Matrix A
v2Matrix B
Returns
Result of operation