XeTLA v0.3.6
IntelĀ® Xe Templates for Linear Algebra - API Definition Document
 
Loading...
Searching...
No Matches
op_function.hpp File Reference

C++ API. More...

Include dependency graph for op_function.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  gpu
 
namespace  gpu::xetla
 
namespace  gpu::xetla::subgroup
 

Functions

template<typename T_dst , typename T_src >
__XETLA_API std::enable_if_t<(T_src::register_layout !=reg_layout::linear) &&(T_dst::register_layout !=reg_layout::linear) &&is_same_layout< T_dst, T_src >::value &&(!is_floating_to_integer< T_dst, T_src >::value)> gpu::xetla::subgroup::elemwise_cvt (T_dst &dst, T_src &src)
 Is the element wise data conversion, the src and dst tile should have the same layout.
 
template<typename T_dst , typename T_src >
__XETLA_API std::enable_if_t<(T_src::register_layout !=reg_layout::linear) &&(T_dst::register_layout !=reg_layout::linear) &&is_same_layout< T_dst, T_src >::value &&is_floating_to_integer< T_dst, T_src >::value > gpu::xetla::subgroup::elemwise_cvt (T_dst &dst, T_src &src)
 Is the element wise data conversion from floating point to integral, the src and dst tile should have the same layout.
 
template<typename T_dst , typename T_src >
__XETLA_API std::enable_if_t<(T_src::register_layout !=reg_layout::linear) &&(T_dst::register_layout !=reg_layout::linear) &&is_same_layout< T_dst, T_src >::value > gpu::xetla::subgroup::elemwise_cvt (T_dst &dst, T_src &src, float scale)
 element wise data conversion with scaling, the src and dst tile should have the same layout.
 
template<typename T >
__XETLA_API std::enable_if_t< T::register_layout==reg_layout::vnni_tiledgpu::xetla::subgroup::vnni_convert (T &mat_Acc)
 Converts tiled layout to vnni_tiled layout format.
 
template<typename T >
__XETLA_API std::enable_if_t< T::register_layout==reg_layout::tiledgpu::xetla::subgroup::vnni_reverse (T &mat_Acc)
 Converts vnni_tiled layout format to tiled layout.
 
template<typename T >
__XETLA_API std::enable_if_t< T::register_layout==reg_layout::transpose_tiledgpu::xetla::subgroup::vnni_reverse (T &mat_Acc)
 Converts vnni_tiled layout format to transpose_tiled layout.
 
template<typename T_dst , typename T_src >
__XETLA_API std::enable_if_t< is_same_layout< T_dst, T_src >::value > gpu::xetla::subgroup::vnni_transform (T_dst &dst, T_src &src)
 Changes vnni layout.
 
template<typename T_dst , typename T_src >
__XETLA_API std::enable_if_t<(T_dst::register_layout==reg_layout::tiled) &&(T_src::register_layout==reg_layout::tiled) &&(T_src::tile_size_x==T_dst::tile_size_x) &&(T_src::tile_size_y==1)> gpu::xetla::subgroup::row_broadcast (T_dst &dst, T_src &src)
 Broadcasts 1d src tile to the entire 2d tile, as well as do the data conversion.
 
template<typename T_dst , typename T_src >
__XETLA_API std::enable_if_t<(T_dst::register_layout==reg_layout::linear) &&(T_src::register_layout==reg_layout::tiled) &&(T_src::tile_size_x==T_dst::tile_size_x) &&(T_src::tile_size_y==T_dst::tile_size_y) &&(T_dst::tile_size_x==T_dst::block_size_x) &&(T_dst::tile_size_y==T_dst::block_size_y) &&(std::is_same< typename T_dst::dtype, typename T_src::dtype >::value)> gpu::xetla::subgroup::layout_convert (T_dst &dst, T_src &src)
 convert 2d tile in a tiled register layout to a 2d tile in a linear register layout
 
template<typename T_dst , typename T_src >
__XETLA_API std::enable_if_t<(T_dst::register_layout==reg_layout::tiled) &&(T_src::register_layout==reg_layout::linear) &&(T_dst::tile_size_x==T_src::tile_size_x) &&(T_dst::tile_size_y==T_src::tile_size_y) &&(T_src::tile_size_x==T_src::block_size_x) &&(T_src::tile_size_y==T_src::block_size_y) &&(std::is_same< typename T_dst::dtype, typename T_src::dtype >::value)> gpu::xetla::subgroup::layout_convert (T_dst &dst, T_src &src)
 convert 2d tile in a linear register layout to a 2d tile in a tiled register layout
 

Detailed Description

C++ API.