DPC++ Runtime
Runtime libraries for oneAPI DPC++
Systolic Array APIs.

APIs below are used to implement dot product accumulate systolic functions. More...

Collaboration diagram for Systolic Array APIs.:

Functions

template<argument_type src1_precision, argument_type src2_precision, typename T , int systolic_depth, int repeat_count, typename T0 , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd< T, N > cl::sycl::ext::intel::experimental::esimd::dpas (sycl::ext::intel::esimd::simd< T0, N > src0, sycl::ext::intel::esimd::simd< T1, N1 > src1, sycl::ext::intel::esimd::simd< T2, N2 > src2, Sat sat={})
 
template<argument_type src1_precision, argument_type src2_precision, int systolic_depth, int repeat_count, typename T , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd< T, N > cl::sycl::ext::intel::experimental::esimd::dpas (sycl::ext::intel::esimd::simd< T, N > src0, sycl::ext::intel::esimd::simd< T1, N1 > src1, sycl::ext::intel::esimd::simd< T2, N2 > src2, Sat sat={})
 DPAS. More...
 
template<argument_type src1_precision, argument_type src2_precision, int systolic_depth, int repeat_count, typename T , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd< T, N > cl::sycl::ext::intel::experimental::esimd::dpas (sycl::ext::intel::esimd::simd< T1, N1 > src1, sycl::ext::intel::esimd::simd< T2, N2 > src2, Sat sat={})
 DPAS. More...
 
template<argument_type src1_precision, argument_type src2_precision, int systolic_depth, int repeat_count, typename T , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd< T, N > cl::sycl::ext::intel::experimental::esimd::dpasw (sycl::ext::intel::esimd::simd< T, N > src0, sycl::ext::intel::esimd::simd< T1, N1 > src1, sycl::ext::intel::esimd::simd< T2, N2 > src2, Sat sat={})
 DPASW. More...
 
template<argument_type src1_precision, argument_type src2_precision, int systolic_depth, int repeat_count, typename T , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd< T, N > cl::sycl::ext::intel::experimental::esimd::dpasw2 (sycl::ext::intel::esimd::simd< T1, N1 > src1, sycl::ext::intel::esimd::simd< T2, N2 > src2, Sat sat={})
 DPASW2. More...
 

Detailed Description

APIs below are used to implement dot product accumulate systolic functions.

DPAS

Parameters
src0is the source operand that represents accumulator for the dpas function
src1is the first source perand with data precision type specified by src1_precision.
src2is the second source operand with data precision type specified by src2_precision.
satenables/disables the saturation (off by default). Possible values: saturation_on/saturation_off.
Returns
the vector value of DPAS computation result.

Function Documentation

◆ dpas() [1/3]

template<argument_type src1_precision, argument_type src2_precision, int systolic_depth, int repeat_count, typename T , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd<T, N> cl::sycl::ext::intel::experimental::esimd::dpas ( sycl::ext::intel::esimd::simd< T, N >  src0,
sycl::ext::intel::esimd::simd< T1, N1 >  src1,
sycl::ext::intel::esimd::simd< T2, N2 >  src2,
Sat  sat = {} 
)

DPAS.

Parameters
src0is the source operand that represents accumulator for the dpas function, which must have the same type as return value
src1is the first source perand with data precision type specified by src1_precision.
src2is the second source operand with data precision type specified by src2_precision.
satenables/disables the saturation (off by default). Possible values: saturation_on/saturation_off.
Returns
the vector value of DPAS computation result.

Definition at line 1878 of file math.hpp.

◆ dpas() [2/3]

template<argument_type src1_precision, argument_type src2_precision, typename T , int systolic_depth, int repeat_count, typename T0 , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd<T, N> cl::sycl::ext::intel::experimental::esimd::dpas ( sycl::ext::intel::esimd::simd< T0, N >  src0,
sycl::ext::intel::esimd::simd< T1, N1 >  src1,
sycl::ext::intel::esimd::simd< T2, N2 >  src2,
Sat  sat = {} 
)

Definition at line 1738 of file math.hpp.

◆ dpas() [3/3]

template<argument_type src1_precision, argument_type src2_precision, int systolic_depth, int repeat_count, typename T , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd<T, N> cl::sycl::ext::intel::experimental::esimd::dpas ( sycl::ext::intel::esimd::simd< T1, N1 >  src1,
sycl::ext::intel::esimd::simd< T2, N2 >  src2,
Sat  sat = {} 
)

DPAS.

Parameters
src1is the first source perand with data precision type specified by src1_precision.
src2is the second source operand with data precision type specified by src2_precision.
satenables/disables the saturation (off by default). Possible values: saturation_on/saturation_off.
Returns
the vector value of DPAS computation result.

Definition at line 1896 of file math.hpp.

◆ dpasw()

template<argument_type src1_precision, argument_type src2_precision, int systolic_depth, int repeat_count, typename T , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd<T, N> cl::sycl::ext::intel::experimental::esimd::dpasw ( sycl::ext::intel::esimd::simd< T, N >  src0,
sycl::ext::intel::esimd::simd< T1, N1 >  src1,
sycl::ext::intel::esimd::simd< T2, N2 >  src2,
Sat  sat = {} 
)

DPASW.

Parameters
src0is the source operand that represents accumulator for the dpas function, which must have the same type as return value.
src1is the first source perand with data precision type specified by src1_precision.
src2is the second source operand with data precision type specified by src2_precision.
satenables/disables the saturation (off by default). Possible values: saturation_on/saturation_off.
Returns
the vector value of DPAS computation result.

Definition at line 1971 of file math.hpp.

◆ dpasw2()

template<argument_type src1_precision, argument_type src2_precision, int systolic_depth, int repeat_count, typename T , typename T1 , typename T2 , int N, int N1, int N2, typename Sat = sycl::ext::intel::esimd::saturation_off_tag>
__ESIMD_API sycl::ext::intel::esimd::simd<T, N> cl::sycl::ext::intel::experimental::esimd::dpasw2 ( sycl::ext::intel::esimd::simd< T1, N1 >  src1,
sycl::ext::intel::esimd::simd< T2, N2 >  src2,
Sat  sat = {} 
)

DPASW2.

Parameters
src1is the first source perand with data precision type specified by src1_precision.
src2is the second source operand with data precision type specified by src2_precision.
satenables/disables the saturation (off by default). Possible values: saturation_on/saturation_off.
Returns
the vector value of DPAS computation result.

Definition at line 2051 of file math.hpp.