DPC++ Runtime
Runtime libraries for oneAPI DPC++
matrix-jit.hpp File Reference
Include dependency graph for matrix-jit.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sycl::_V1::ext::oneapi::experimental::matrix::spv_matrix_layout_traits< Layout >
 
struct  sycl::_V1::ext::oneapi::experimental::matrix::spv_scope_traits< sycl::sub_group >
 
struct  sycl::_V1::ext::oneapi::experimental::matrix::spv_scope_traits< sycl::group< D > >
 
struct  sycl::_V1::ext::oneapi::experimental::matrix::joint_matrix< T, NumRows, NumCols, Use, Layout, Group >
 
class  sycl::_V1::ext::oneapi::experimental::matrix::wi_element< T, NumRows, NumCols, Use, Layout, Group >
 
class  sycl::_V1::ext::oneapi::experimental::matrix::wi_element< uint16_t, NumRows, NumCols, Layout, Group >
 
struct  sycl::_V1::ext::oneapi::experimental::matrix::wi_element< uint16_t, NumRows, NumCols, Layout, Group >::Converter< T1, T2 >
 
struct  sycl::_V1::ext::oneapi::experimental::matrix::wi_element< uint16_t, NumRows, NumCols, Layout, Group >::Converter< T, uint16_t >
 
class  sycl::_V1::ext::oneapi::experimental::matrix::wi_element< sycl::ext::oneapi::bfloat16, NumRows, NumCols, Layout, Group >
 
class  sycl::_V1::ext::oneapi::experimental::matrix::wi_data< type, size >
 

Namespaces

 sycl
 ---— Error handling, matching OpenCL plugin semantics.
 
 sycl::_V1
 
 sycl::_V1::ext
 
 sycl::_V1::ext::oneapi
 
 sycl::_V1::ext::oneapi::experimental
 
 sycl::_V1::ext::oneapi::experimental::matrix
 

Macros

#define SPV_MATRIX_LAYOUT_TRAITS(LAYOUT, SPV_LAYOUT)
 
#define OP(op)
 
#define OP(op)
 
#define OP(input_type, type, op)
 
#define OP(opassign, op)
 
#define OP(type, op)
 

Enumerations

enum class  sycl::_V1::ext::oneapi::experimental::matrix::matrix_layout {
  sycl::_V1::ext::oneapi::experimental::matrix::row_major , sycl::_V1::ext::oneapi::experimental::matrix::col_major , sycl::_V1::ext::oneapi::experimental::matrix::packed_a , sycl::_V1::ext::oneapi::experimental::matrix::packed_b ,
  sycl::_V1::ext::oneapi::experimental::matrix::row_major , sycl::_V1::ext::oneapi::experimental::matrix::col_major , sycl::_V1::ext::oneapi::experimental::matrix::packed_a , sycl::_V1::ext::oneapi::experimental::matrix::packed_b
}
 

Functions

template<typename Group , typename T , size_t NumRows, size_t NumCols, matrix_layout Layout = matrix_layout::row_major, access::address_space Space, access::decorated IsDecorated>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::oneapi::experimental::matrix::joint_matrix_load (Group sg, joint_matrix< T, NumRows, NumCols, Layout, Group > &res, multi_ptr< T, Space, IsDecorated > src, size_t stride, matrix_layout MemL)
 
template<typename Group , typename T , size_t NumRows, size_t NumCols, matrix_layout MatL = matrix_layout::row_major, access::address_space Space, access::decorated IsDecorated>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::oneapi::experimental::matrix::joint_matrix_store (Group sg, joint_matrix< T, NumRows, NumCols, MatL, Group > &src, multi_ptr< T, Space, IsDecorated > res, size_t stride, matrix_layout MemL)
 
template<typename Group , typename T , size_t NumRows, size_t NumCols, matrix_layout Layout, typename T2 >
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::oneapi::experimental::matrix::joint_matrix_fill (Group sg, joint_matrix< T, NumRows, NumCols, Layout, Group > &res, const T2 v)
 

Macro Definition Documentation

◆ OP [1/5]

#define OP (   input_type,
  type,
  op 
)
Value:
friend type operator op( \
const wi_element<uint16_t, NumRows, NumCols, Layout, Group> &lhs, \
const uint16_t &rhs) { \
(void)lhs; \
(void)rhs; \
throw runtime_error("joint matrix is not supported on host device.", \
PI_ERROR_INVALID_DEVICE); \
} \
friend type operator op( \
const uint16_t &lhs, \
const wi_element<uint16_t, NumRows, NumCols, Layout, Group> &rhs) { \
(void)lhs; \
(void)rhs; \
throw runtime_error("joint matrix is not supported on host device.", \
PI_ERROR_INVALID_DEVICE); \
}

Definition at line 575 of file matrix-jit.hpp.

◆ OP [2/5]

#define OP (   op)
Value:
template <typename T2> wi_element &operator op##=(const T2 &rhs) { \
(void)rhs; \
throw runtime_error("joint matrix is not supported on host device.", \
PI_ERROR_INVALID_DEVICE); \
}

Definition at line 575 of file matrix-jit.hpp.

◆ OP [3/5]

#define OP (   op)
Value:
wi_element &operator op##=(const uint16_t &rhs) { \
(void)rhs; \
throw runtime_error("joint matrix is not supported on host device.", \
PI_ERROR_INVALID_DEVICE); \
}

Definition at line 575 of file matrix-jit.hpp.

◆ OP [4/5]

#define OP (   opassign,
  op 
)
Value:
wi_element &operator opassign(const sycl::ext::oneapi::bfloat16 &rhs) { \
(void)rhs; \
throw runtime_error("joint matrix is not supported on host device.", \
PI_ERROR_INVALID_DEVICE); \
}

Definition at line 575 of file matrix-jit.hpp.

◆ OP [5/5]

#define OP (   type,
  op 
)
Value:
friend type operator op(const wi_element<sycl::ext::oneapi::bfloat16, \
NumRows, NumCols, Layout, Group> &, \
const sycl::ext::oneapi::bfloat16 &) { \
throw runtime_error("joint matrix is not supported on host device.", \
PI_ERROR_INVALID_DEVICE); \
} \
friend type operator op( \
const sycl::ext::oneapi::bfloat16 &, \
const wi_element<sycl::ext::oneapi::bfloat16, NumRows, NumCols, Layout, \
Group> &) { \
throw runtime_error("joint matrix is not supported on host device.", \
PI_ERROR_INVALID_DEVICE); \
}

Definition at line 575 of file matrix-jit.hpp.

◆ SPV_MATRIX_LAYOUT_TRAITS

#define SPV_MATRIX_LAYOUT_TRAITS (   LAYOUT,
  SPV_LAYOUT 
)
Value:
template <> struct spv_matrix_layout_traits<LAYOUT> { \
static constexpr __spv::MatrixLayout value = SPV_LAYOUT; \
};

Definition at line 29 of file matrix-jit.hpp.