XeTLA v0.3.6
IntelĀ® Xe Templates for Linear Algebra - API Definition Document
 
Loading...
Searching...
No Matches
Raw send APIs

Implements the send instruction to send messages to variaous components of the Intel(R) processor graphics, as defined in the documentation at here More...

Collaboration diagram for Raw send APIs:

Functions

template<typename T1 , uint32_t n1, typename T2 , uint32_t n2, uint8_t execSize, uint8_t sfid, uint8_t numSrc0, uint8_t numDst, uint8_t isEOT = 0, uint8_t isSendc = 0, int N = 16>
__XETLA_API void gpu::xetla::xetla_raw_send (xetla_vector_ref< T1, n1 > __REF__ msgDst, xetla_vector< T2, n2 > msgSrc0, uint32_t exDesc, uint32_t msgDesc, xetla_mask< N > mask=1)
 Raw send with one source operand and one destination operand.
 
template<typename T1 , uint32_t n1, typename T2 , uint32_t n2, typename T3 , uint32_t n3, uint8_t execSize, uint8_t sfid, uint8_t numSrc0, uint8_t numSrc1, uint8_t numDst, uint8_t isEOT = 0, uint8_t isSendc = 0, int N = 16>
__XETLA_API void gpu::xetla::xetla_raw_send (xetla_vector_ref< T1, n1 > __REF__ msgDst, xetla_vector< T2, n2 > msgSrc0, xetla_vector< T3, n3 > msgSrc1, uint32_t exDesc, uint32_t msgDesc, xetla_mask< N > mask=1)
 Raw send with two source operands and one destination operand.
 
template<typename T1 , uint32_t n1, uint8_t execSize, uint8_t sfid, uint8_t numSrc0, uint8_t isEOT = 0, uint8_t isSendc = 0, int N = 16>
__XETLA_API void gpu::xetla::xetla_raw_send (xetla_vector< T1, n1 > msgSrc0, uint32_t exDesc, uint32_t msgDesc, xetla_mask< N > mask=1)
 Raw send with one source operand and no return.
 
template<typename T1 , uint32_t n1, typename T2 , uint32_t n2, uint8_t execSize, uint8_t sfid, uint8_t numSrc0, uint8_t numSrc1, uint8_t isEOT = 0, uint8_t isSendc = 0, int N = 16>
__XETLA_API void gpu::xetla::xetla_raw_send (xetla_vector< T1, n1 > msgSrc0, xetla_vector< T2, n2 > msgSrc1, uint32_t exDesc, uint32_t msgDesc, xetla_mask< N > mask=1)
 Raw send with two source operands and no return.
 

Detailed Description

Implements the send instruction to send messages to variaous components of the Intel(R) processor graphics, as defined in the documentation at here

Function Documentation

◆ xetla_raw_send() [1/4]

template<typename T1 , uint32_t n1, uint8_t execSize, uint8_t sfid, uint8_t numSrc0, uint8_t isEOT = 0, uint8_t isSendc = 0, int N = 16>
__XETLA_API void gpu::xetla::xetla_raw_send ( xetla_vector< T1, n1 >  msgSrc0,
uint32_t  exDesc,
uint32_t  msgDesc,
xetla_mask< N >  mask = 1 
)

Raw send with one source operand and no return.

Template Parameters
T1is the data type of the msgSrc0.
n1is the data length of the msgSrc0.
execSizeis the execution size.
sfidis the shared function ID.
numSrc0is the number of GRFs for source-0.
isEOTis the flag that indicates whether this is an EOT message (optional - default to 0).
isSendcis the flag that indicates whether sendc should be used (optional - default to 0).
Nis the SIMD channel num of the mask (optional - default to 16).
Parameters
msgSrc0[in] is the first source operand of the send message.
exDesc[in] is the extended message descriptor.
msgDesc[in] is the message descriptor.
mask[in] is the predicate to specify enabled channels (optional - default to on).

◆ xetla_raw_send() [2/4]

template<typename T1 , uint32_t n1, typename T2 , uint32_t n2, uint8_t execSize, uint8_t sfid, uint8_t numSrc0, uint8_t numSrc1, uint8_t isEOT = 0, uint8_t isSendc = 0, int N = 16>
__XETLA_API void gpu::xetla::xetla_raw_send ( xetla_vector< T1, n1 >  msgSrc0,
xetla_vector< T2, n2 >  msgSrc1,
uint32_t  exDesc,
uint32_t  msgDesc,
xetla_mask< N >  mask = 1 
)

Raw send with two source operands and no return.

Template Parameters
T1is the data type of the msgSrc0.
n1is the data length of the msgSrc0.
T2is the data type of the msgSrc1.
n2is the data length of the msgSrc1.
execSizeis the execution size.
sfidis the shared function ID.
numSrc0is the number of GRFs for source-0.
numSrc1is the number of GRFs for source-1.
isEOTis the flag that indicates whether this is an EOT message (optional - default to 0).
isSendcis the flag that indicates whether sendc should be used (optional - default to 0).
Nis the SIMD channel num of the mask (optional - default to 16).
Parameters
msgSrc0[in] is the first source operand of the send message.
msgSrc1[in] is the second source operand of the send message.
exDesc[in] is the extended message descriptor.
msgDesc[in] is the message descriptor.
mask[in] is the predicate to specify enabled channels (optional - default to on).

◆ xetla_raw_send() [3/4]

template<typename T1 , uint32_t n1, typename T2 , uint32_t n2, uint8_t execSize, uint8_t sfid, uint8_t numSrc0, uint8_t numDst, uint8_t isEOT = 0, uint8_t isSendc = 0, int N = 16>
__XETLA_API void gpu::xetla::xetla_raw_send ( xetla_vector_ref< T1, n1 > __REF__  msgDst,
xetla_vector< T2, n2 >  msgSrc0,
uint32_t  exDesc,
uint32_t  msgDesc,
xetla_mask< N >  mask = 1 
)

Raw send with one source operand and one destination operand.

Template Parameters
T1is the data type of the msgDst.
n1is the data length of the msgDst.
T2is the data type of the msgSrc0.
n2is the data length of the msgSrc0.
execSizeis the execution size.
sfidis the shared function ID.
numSrc0is the number of GRFs for source-0.
numDstis the number of GRFs for destination.
isEOTis the flag that indicates whether this is an EOT message (optional - default to 0).
isSendcis the flag that indicates whether sendc should be used (optional - default to 0).
Nis the SIMD channel num of the mask (optional - default to 16).
Parameters
msgDst[in|out] is the destination operand of the send message.
msgSrc0[in] is the first source operand of the send message.
exDesc[in] is the extended message descriptor.
msgDesc[in] is the message descriptor.
mask[in] is the predicate to specify enabled channels (optional - default to on).

◆ xetla_raw_send() [4/4]

template<typename T1 , uint32_t n1, typename T2 , uint32_t n2, typename T3 , uint32_t n3, uint8_t execSize, uint8_t sfid, uint8_t numSrc0, uint8_t numSrc1, uint8_t numDst, uint8_t isEOT = 0, uint8_t isSendc = 0, int N = 16>
__XETLA_API void gpu::xetla::xetla_raw_send ( xetla_vector_ref< T1, n1 > __REF__  msgDst,
xetla_vector< T2, n2 >  msgSrc0,
xetla_vector< T3, n3 >  msgSrc1,
uint32_t  exDesc,
uint32_t  msgDesc,
xetla_mask< N >  mask = 1 
)

Raw send with two source operands and one destination operand.

Template Parameters
T1is the data type of the msgDst.
n1is the data length of the msgDst.
T2is the data type of the msgSrc0.
n2is the data length of the msgSrc0.
T3is the data type of the msgSrc1.
n3is the data length of the msgSrc1.
execSizeis the execution size.
sfidis the shared function ID.
numSrc0is the number of GRFs for source-0.
numSrc1is the number of GRFs for source-1.
numDstis the number of GRFs for destination.
isEOTis the flag that indicates whether this is an EOT message (optional - default to 0).
isSendcis the flag that indicates whether sendc should be used (optional - default to 0).
Nis the SIMD channel num of the mask (optional - default to 16).
Parameters
msgDst[in|out] is the destination operand of the send message.
msgSrc0[in] is the first source operand of the send message.
msgSrc1[in] is the second source operand of the send message.
exDesc[in] is the extended message descriptor.
msgDesc[in] is the message descriptor.
mask[in] is the predicate to specify enabled channels (optional - default to on).