DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::ext::intel::experimental::matrix Namespace Reference

Functions

template<typename Group , typename T , typename Tp , sycl::ext::oneapi::experimental::matrix::use Use, size_t NumRows, size_t NumCols, sycl::ext::oneapi::experimental::matrix::layout Layout, access::address_space Space, access::decorated IsDecorated, std::enable_if_t< Use==sycl::ext::oneapi::experimental::matrix::use::a||Use==sycl::ext::oneapi::experimental::matrix::use::b, bool > = true>
__SYCL_ALWAYS_INLINE void joint_matrix_store (Group, const sycl::ext::oneapi::experimental::matrix::joint_matrix< Group, Tp, Use, NumRows, NumCols, Layout > &src, multi_ptr< T, Space, IsDecorated > dst, size_t stride)
 
template<typename Group , typename T , typename Tp , sycl::ext::oneapi::experimental::matrix::use Use, size_t NumRows, size_t NumCols, sycl::ext::oneapi::experimental::matrix::layout Layout, typename PropertyListT , std::enable_if_t< Use==sycl::ext::oneapi::experimental::matrix::use::a||Use==sycl::ext::oneapi::experimental::matrix::use::b, bool > = true>
__SYCL_ALWAYS_INLINE void joint_matrix_store (Group, const sycl::ext::oneapi::experimental::matrix::joint_matrix< Group, Tp, Use, NumRows, NumCols, Layout > &src, ext::oneapi::experimental::annotated_ptr< T, PropertyListT > dst, size_t stride)
 
template<typename Group , typename T , sycl::ext::oneapi::experimental::matrix::use Use, size_t Rows, size_t Cols, sycl::ext::oneapi::experimental::matrix::layout Layout, typename F >
__SYCL_ALWAYS_INLINE void joint_matrix_apply (Group sg, sycl::ext::oneapi::experimental::matrix::joint_matrix< Group, T, Use, Rows, Cols, Layout > &jm, F &&lambda)
 
template<typename Group , typename T , size_t NumRows, size_t NumCols, use Use, layout Layout, typename T2 >
__SYCL_ALWAYS_INLINE void joint_matrix_fill_checked (Group, joint_matrix< Group, T, Use, NumRows, NumCols, Layout > &Res, const T2 &Value, size_t Stride, size_t Height, size_t Width, size_t CoordX, size_t CoordY)
 
template<typename Group , typename S , typename T , size_t NumRows, size_t NumCols, access::address_space Space, access::decorated IsDecorated, std::enable_if_t< std::is_same< S, std::remove_const_t< T >>::value, bool > = true>
__SYCL_ALWAYS_INLINE void joint_matrix_load_checked (Group sg, joint_matrix< Group, S, use::accumulator, NumRows, NumCols, layout::dynamic > &Res, multi_ptr< T, Space, IsDecorated > Src, size_t Stride, layout Layout, size_t Height, size_t Width, size_t CoordX, size_t CoordY)
 
template<typename Group , typename S , typename T , use Use, size_t NumRows, size_t NumCols, layout Layout, access::address_space Space, access::decorated IsDecorated, std::enable_if_t< std::is_same< S, std::remove_const_t< T >>::value||(std::is_same< S, precision::tf32 >::value &&std::is_same< std::remove_const_t< T >, float >::value), bool > = true>
__SYCL_ALWAYS_INLINE void joint_matrix_load_checked (Group sg, joint_matrix< Group, S, Use, NumRows, NumCols, Layout > &Res, multi_ptr< T, Space, IsDecorated > Src, size_t Stride, size_t Height, size_t Width, size_t CoordX, size_t CoordY)
 
template<typename Group , typename T , size_t NumRows, size_t NumCols, access::address_space Space, access::decorated IsDecorated>
__SYCL_ALWAYS_INLINE void joint_matrix_store_checked (Group sg, joint_matrix< Group, T, use::accumulator, NumRows, NumCols, layout::dynamic > &Src, multi_ptr< T, Space, IsDecorated > Dst, size_t Stride, layout Layout, size_t Height, size_t Width, size_t CoordX, size_t CoordY)
 
template<typename Group , typename T , typename Tp , use Use, size_t NumRows, size_t NumCols, layout Layout, access::address_space Space, access::decorated IsDecorated, std::enable_if_t< Use==use::a||Use==use::b, bool > = true>
__SYCL_ALWAYS_INLINE void joint_matrix_store_checked (Group sg, const joint_matrix< Group, Tp, Use, NumRows, NumCols, Layout > &Src, multi_ptr< T, Space, IsDecorated > Dst, size_t Stride, size_t Height, size_t Width, size_t CoordX, size_t CoordY)
 
template<typename Group , typename S , typename T , size_t NumRows, size_t NumCols, typename PropertyListT , std::enable_if_t< std::is_same< S, std::remove_const_t< T >>::value, bool > = true>
__SYCL_ALWAYS_INLINE void joint_matrix_load_checked (Group sg, joint_matrix< Group, S, use::accumulator, NumRows, NumCols, layout::dynamic > &Res, ext::oneapi::experimental::annotated_ptr< T, PropertyListT > Src, size_t Stride, layout Layout, size_t Height, size_t Width, size_t CoordX, size_t CoordY)
 
template<typename Group , typename S , typename T , use Use, size_t NumRows, size_t NumCols, layout Layout, typename PropertyListT , std::enable_if_t< std::is_same< S, std::remove_const_t< T >>::value||(std::is_same< S, precision::tf32 >::value &&std::is_same< std::remove_const_t< T >, float >::value), bool > = true>
__SYCL_ALWAYS_INLINE void joint_matrix_load_checked (Group sg, joint_matrix< Group, S, Use, NumRows, NumCols, Layout > &Res, ext::oneapi::experimental::annotated_ptr< T, PropertyListT > Src, size_t Stride, size_t Height, size_t Width, size_t CoordX, size_t CoordY)
 
template<typename Group , typename T , size_t NumRows, size_t NumCols, typename PropertyListT >
__SYCL_ALWAYS_INLINE void joint_matrix_store_checked (Group sg, joint_matrix< Group, T, use::accumulator, NumRows, NumCols, layout::dynamic > &Src, ext::oneapi::experimental::annotated_ptr< T, PropertyListT > Dst, size_t Stride, layout Layout, size_t Height, size_t Width, size_t CoordX, size_t CoordY)
 
template<typename Group , typename T , typename Tp , use Use, size_t NumRows, size_t NumCols, layout Layout, typename PropertyListT , std::enable_if_t< Use==use::a||Use==use::b, bool > = true>
__SYCL_ALWAYS_INLINE void joint_matrix_store_checked (Group sg, const joint_matrix< Group, Tp, Use, NumRows, NumCols, Layout > &Src, ext::oneapi::experimental::annotated_ptr< T, PropertyListT > Dst, size_t Stride, size_t Height, size_t Width, size_t CoordX, size_t CoordY)
 

Function Documentation

◆ joint_matrix_apply()

template<typename Group , typename T , sycl::ext::oneapi::experimental::matrix::use Use, size_t Rows, size_t Cols, sycl::ext::oneapi::experimental::matrix::layout Layout, typename F >
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_apply ( Group  sg,
sycl::ext::oneapi::experimental::matrix::joint_matrix< Group, T, Use, Rows, Cols, Layout > &  jm,
F &&  lambda 
)
inline

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

References sycl::_V1::ext::oneapi::detail::get_wi_data().

◆ joint_matrix_fill_checked()

template<typename Group , typename T , size_t NumRows, size_t NumCols, use Use, layout Layout, typename T2 >
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_fill_checked ( Group  ,
joint_matrix< Group, T, Use, NumRows, NumCols, Layout > &  Res,
const T2 &  Value,
size_t  Stride,
size_t  Height,
size_t  Width,
size_t  CoordX,
size_t  CoordY 
)
inline

Definition at line 613 of file matrix-intel.hpp.

◆ joint_matrix_load_checked() [1/4]

template<typename Group , typename S , typename T , use Use, size_t NumRows, size_t NumCols, layout Layout, typename PropertyListT , std::enable_if_t< std::is_same< S, std::remove_const_t< T >>::value||(std::is_same< S, precision::tf32 >::value &&std::is_same< std::remove_const_t< T >, float >::value), bool > = true>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_load_checked ( Group  sg,
joint_matrix< Group, S, Use, NumRows, NumCols, Layout > &  Res,
ext::oneapi::experimental::annotated_ptr< T, PropertyListT >  Src,
size_t  Stride,
size_t  Height,
size_t  Width,
size_t  CoordX,
size_t  CoordY 
)
inline

Definition at line 828 of file matrix-intel.hpp.

◆ joint_matrix_load_checked() [2/4]

template<typename Group , typename S , typename T , use Use, size_t NumRows, size_t NumCols, layout Layout, access::address_space Space, access::decorated IsDecorated, std::enable_if_t< std::is_same< S, std::remove_const_t< T >>::value||(std::is_same< S, precision::tf32 >::value &&std::is_same< std::remove_const_t< T >, float >::value), bool > = true>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_load_checked ( Group  sg,
joint_matrix< Group, S, Use, NumRows, NumCols, Layout > &  Res,
multi_ptr< T, Space, IsDecorated >  Src,
size_t  Stride,
size_t  Height,
size_t  Width,
size_t  CoordX,
size_t  CoordY 
)
inline

Definition at line 687 of file matrix-intel.hpp.

References sycl::_V1::access::private_space.

◆ joint_matrix_load_checked() [3/4]

template<typename Group , typename S , typename T , size_t NumRows, size_t NumCols, typename PropertyListT , std::enable_if_t< std::is_same< S, std::remove_const_t< T >>::value, bool > = true>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_load_checked ( Group  sg,
joint_matrix< Group, S, use::accumulator, NumRows, NumCols, layout::dynamic > &  Res,
ext::oneapi::experimental::annotated_ptr< T, PropertyListT >  Src,
size_t  Stride,
layout  Layout,
size_t  Height,
size_t  Width,
size_t  CoordX,
size_t  CoordY 
)
inline

Definition at line 790 of file matrix-intel.hpp.

References sycl::_V1::detail::joint_matrix_layout_to_spv().

◆ joint_matrix_load_checked() [4/4]

template<typename Group , typename S , typename T , size_t NumRows, size_t NumCols, access::address_space Space, access::decorated IsDecorated, std::enable_if_t< std::is_same< S, std::remove_const_t< T >>::value, bool > = true>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_load_checked ( Group  sg,
joint_matrix< Group, S, use::accumulator, NumRows, NumCols, layout::dynamic > &  Res,
multi_ptr< T, Space, IsDecorated >  Src,
size_t  Stride,
layout  Layout,
size_t  Height,
size_t  Width,
size_t  CoordX,
size_t  CoordY 
)
inline

◆ joint_matrix_store() [1/2]

template<typename Group , typename T , typename Tp , sycl::ext::oneapi::experimental::matrix::use Use, size_t NumRows, size_t NumCols, sycl::ext::oneapi::experimental::matrix::layout Layout, typename PropertyListT , std::enable_if_t< Use==sycl::ext::oneapi::experimental::matrix::use::a||Use==sycl::ext::oneapi::experimental::matrix::use::b, bool > = true>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_store ( Group  ,
const sycl::ext::oneapi::experimental::matrix::joint_matrix< Group, Tp, Use, NumRows, NumCols, Layout > &  src,
ext::oneapi::experimental::annotated_ptr< T, PropertyListT >  dst,
size_t  stride 
)
inline

◆ joint_matrix_store() [2/2]

template<typename Group , typename T , typename Tp , sycl::ext::oneapi::experimental::matrix::use Use, size_t NumRows, size_t NumCols, sycl::ext::oneapi::experimental::matrix::layout Layout, access::address_space Space, access::decorated IsDecorated, std::enable_if_t< Use==sycl::ext::oneapi::experimental::matrix::use::a||Use==sycl::ext::oneapi::experimental::matrix::use::b, bool > = true>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_store ( Group  ,
const sycl::ext::oneapi::experimental::matrix::joint_matrix< Group, Tp, Use, NumRows, NumCols, Layout > &  src,
multi_ptr< T, Space, IsDecorated >  dst,
size_t  stride 
)
inline

◆ joint_matrix_store_checked() [1/4]

template<typename Group , typename T , typename Tp , use Use, size_t NumRows, size_t NumCols, layout Layout, typename PropertyListT , std::enable_if_t< Use==use::a||Use==use::b, bool > = true>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_store_checked ( Group  sg,
const joint_matrix< Group, Tp, Use, NumRows, NumCols, Layout > &  Src,
ext::oneapi::experimental::annotated_ptr< T, PropertyListT >  Dst,
size_t  Stride,
size_t  Height,
size_t  Width,
size_t  CoordX,
size_t  CoordY 
)
inline

Definition at line 890 of file matrix-intel.hpp.

◆ joint_matrix_store_checked() [2/4]

template<typename Group , typename T , typename Tp , use Use, size_t NumRows, size_t NumCols, layout Layout, access::address_space Space, access::decorated IsDecorated, std::enable_if_t< Use==use::a||Use==use::b, bool > = true>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_store_checked ( Group  sg,
const joint_matrix< Group, Tp, Use, NumRows, NumCols, Layout > &  Src,
multi_ptr< T, Space, IsDecorated >  Dst,
size_t  Stride,
size_t  Height,
size_t  Width,
size_t  CoordX,
size_t  CoordY 
)
inline

Definition at line 756 of file matrix-intel.hpp.

References sycl::_V1::access::private_space.

◆ joint_matrix_store_checked() [3/4]

template<typename Group , typename T , size_t NumRows, size_t NumCols, typename PropertyListT >
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_store_checked ( Group  sg,
joint_matrix< Group, T, use::accumulator, NumRows, NumCols, layout::dynamic > &  Src,
ext::oneapi::experimental::annotated_ptr< T, PropertyListT >  Dst,
size_t  Stride,
layout  Layout,
size_t  Height,
size_t  Width,
size_t  CoordX,
size_t  CoordY 
)
inline

Definition at line 856 of file matrix-intel.hpp.

References sycl::_V1::detail::joint_matrix_layout_to_spv().

◆ joint_matrix_store_checked() [4/4]

template<typename Group , typename T , size_t NumRows, size_t NumCols, access::address_space Space, access::decorated IsDecorated>
__SYCL_ALWAYS_INLINE void sycl::_V1::ext::intel::experimental::matrix::joint_matrix_store_checked ( Group  sg,
joint_matrix< Group, T, use::accumulator, NumRows, NumCols, layout::dynamic > &  Src,
multi_ptr< T, Space, IsDecorated >  Dst,
size_t  Stride,
layout  Layout,
size_t  Height,
size_t  Width,
size_t  CoordX,
size_t  CoordY 
)
inline