HostTensor< T > Struct Template Reference

HostTensor&lt; T &gt; Struct Template Reference#

Composable Kernel: ck_tile::HostTensor< T > Struct Template Reference
ck_tile::HostTensor< T > Struct Template Reference

#include <host_tensor.hpp>

Public Types

using Descriptor = HostTensorDescriptor
 
using Data = std::vector< T >
 

Public Member Functions

template<typename X >
 HostTensor (std::initializer_list< X > lens)
 
template<typename X , typename Y >
 HostTensor (std::initializer_list< X > lens, std::initializer_list< Y > strides)
 
template<typename Lengths >
 HostTensor (const Lengths &lens)
 
template<typename Lengths , typename Strides >
 HostTensor (const Lengths &lens, const Strides &strides)
 
 HostTensor (const Descriptor &desc)
 
template<typename OutT >
HostTensor< OutT > CopyAsType () const
 
 HostTensor ()=delete
 
 HostTensor (const HostTensor &)=default
 
 HostTensor (HostTensor &&)=default
 
 ~HostTensor ()=default
 
HostTensoroperator= (const HostTensor &)=default
 
HostTensoroperator= (HostTensor &&)=default
 
template<typename FromT >
 HostTensor (const HostTensor< FromT > &other)
 
std::size_t get_length (std::size_t dim) const
 
decltype(auto) get_lengths () const
 
std::size_t get_stride (std::size_t dim) const
 
decltype(auto) get_strides () const
 
std::size_t get_num_of_dimension () const
 
std::size_t get_element_size () const
 
std::size_t get_element_space_size () const
 
std::size_t get_element_space_size_in_bytes () const
 
void SetZero ()
 
template<typename F >
void ForEach_impl (F &&f, std::vector< size_t > &idx, size_t rank)
 
template<typename F >
void ForEach (F &&f)
 
template<typename F >
void ForEach_impl (const F &&f, std::vector< size_t > &idx, size_t rank) const
 
template<typename F >
void ForEach (const F &&f) const
 
template<typename G >
void GenerateTensorValue (G g, std::size_t num_thread=1)
 
template<typename... Is>
std::size_t GetOffsetFromMultiIndex (Is... is) const
 
template<typename... Is>
T & operator() (Is... is)
 
template<typename... Is>
const T & operator() (Is... is) const
 
T & operator() (std::vector< std::size_t > idx)
 
const T & operator() (std::vector< std::size_t > idx) const
 
HostTensor< T > transpose (std::vector< size_t > axes={}) const
 
HostTensor< T > transpose (std::vector< size_t > axes={})
 
Data::iterator begin ()
 
Data::iterator end ()
 
Data::pointer data ()
 
Data::const_iterator begin () const
 
Data::const_iterator end () const
 
Data::const_pointer data () const
 
Data::size_type size () const
 
auto slice (std::vector< size_t > s_begin, std::vector< size_t > s_end) const
 
template<typename U = T>
auto AsSpan () const
 
template<typename U = T>
auto AsSpan ()
 
void loadtxt (std::string file_name, std::string dtype="float")
 
void savetxt (std::string file_name, std::string dtype="float")
 

Public Attributes

Descriptor mDesc
 
Data mData
 

Friends

std::ostream & operator<< (std::ostream &os, const HostTensor< T > &t)
 

Member Typedef Documentation

◆ Data

template<typename T >
using ck_tile::HostTensor< T >::Data = std::vector<T>

◆ Descriptor

template<typename T >
using ck_tile::HostTensor< T >::Descriptor = HostTensorDescriptor

Constructor & Destructor Documentation

◆ HostTensor() [1/9]

template<typename T >
template<typename X >
ck_tile::HostTensor< T >::HostTensor ( std::initializer_list< X >  lens)
inline

◆ HostTensor() [2/9]

template<typename T >
template<typename X , typename Y >
ck_tile::HostTensor< T >::HostTensor ( std::initializer_list< X >  lens,
std::initializer_list< Y >  strides 
)
inline

◆ HostTensor() [3/9]

template<typename T >
template<typename Lengths >
ck_tile::HostTensor< T >::HostTensor ( const Lengths &  lens)
inline

◆ HostTensor() [4/9]

template<typename T >
template<typename Lengths , typename Strides >
ck_tile::HostTensor< T >::HostTensor ( const Lengths &  lens,
const Strides &  strides 
)
inline

◆ HostTensor() [5/9]

template<typename T >
ck_tile::HostTensor< T >::HostTensor ( const Descriptor desc)
inline

◆ HostTensor() [6/9]

template<typename T >
ck_tile::HostTensor< T >::HostTensor ( )
delete

◆ HostTensor() [7/9]

template<typename T >
ck_tile::HostTensor< T >::HostTensor ( const HostTensor< T > &  )
default

◆ HostTensor() [8/9]

template<typename T >
ck_tile::HostTensor< T >::HostTensor ( HostTensor< T > &&  )
default

◆ ~HostTensor()

template<typename T >
ck_tile::HostTensor< T >::~HostTensor ( )
default

◆ HostTensor() [9/9]

template<typename T >
template<typename FromT >
ck_tile::HostTensor< T >::HostTensor ( const HostTensor< FromT > &  other)
inlineexplicit

Member Function Documentation

◆ AsSpan() [1/2]

template<typename T >
template<typename U = T>
auto ck_tile::HostTensor< T >::AsSpan ( )
inline

◆ AsSpan() [2/2]

template<typename T >
template<typename U = T>
auto ck_tile::HostTensor< T >::AsSpan ( ) const
inline

◆ begin() [1/2]

template<typename T >
Data::iterator ck_tile::HostTensor< T >::begin ( )
inline

◆ begin() [2/2]

template<typename T >
Data::const_iterator ck_tile::HostTensor< T >::begin ( ) const
inline

◆ CopyAsType()

template<typename T >
template<typename OutT >
HostTensor<OutT> ck_tile::HostTensor< T >::CopyAsType ( ) const
inline

◆ data() [1/2]

template<typename T >
Data::pointer ck_tile::HostTensor< T >::data ( )
inline

◆ data() [2/2]

template<typename T >
Data::const_pointer ck_tile::HostTensor< T >::data ( ) const
inline

◆ end() [1/2]

template<typename T >
Data::iterator ck_tile::HostTensor< T >::end ( )
inline

◆ end() [2/2]

template<typename T >
Data::const_iterator ck_tile::HostTensor< T >::end ( ) const
inline

◆ ForEach() [1/2]

template<typename T >
template<typename F >
void ck_tile::HostTensor< T >::ForEach ( const F &&  f) const
inline

◆ ForEach() [2/2]

template<typename T >
template<typename F >
void ck_tile::HostTensor< T >::ForEach ( F &&  f)
inline

◆ ForEach_impl() [1/2]

template<typename T >
template<typename F >
void ck_tile::HostTensor< T >::ForEach_impl ( const F &&  f,
std::vector< size_t > &  idx,
size_t  rank 
) const
inline

◆ ForEach_impl() [2/2]

template<typename T >
template<typename F >
void ck_tile::HostTensor< T >::ForEach_impl ( F &&  f,
std::vector< size_t > &  idx,
size_t  rank 
)
inline

◆ GenerateTensorValue()

template<typename T >
template<typename G >
void ck_tile::HostTensor< T >::GenerateTensorValue ( g,
std::size_t  num_thread = 1 
)
inline

◆ get_element_size()

template<typename T >
std::size_t ck_tile::HostTensor< T >::get_element_size ( ) const
inline

◆ get_element_space_size()

template<typename T >
std::size_t ck_tile::HostTensor< T >::get_element_space_size ( ) const
inline

◆ get_element_space_size_in_bytes()

template<typename T >
std::size_t ck_tile::HostTensor< T >::get_element_space_size_in_bytes ( ) const
inline

◆ get_length()

template<typename T >
std::size_t ck_tile::HostTensor< T >::get_length ( std::size_t  dim) const
inline

◆ get_lengths()

template<typename T >
decltype(auto) ck_tile::HostTensor< T >::get_lengths ( ) const
inline

◆ get_num_of_dimension()

template<typename T >
std::size_t ck_tile::HostTensor< T >::get_num_of_dimension ( ) const
inline

◆ get_stride()

template<typename T >
std::size_t ck_tile::HostTensor< T >::get_stride ( std::size_t  dim) const
inline

◆ get_strides()

template<typename T >
decltype(auto) ck_tile::HostTensor< T >::get_strides ( ) const
inline

◆ GetOffsetFromMultiIndex()

template<typename T >
template<typename... Is>
std::size_t ck_tile::HostTensor< T >::GetOffsetFromMultiIndex ( Is...  is) const
inline

◆ loadtxt()

template<typename T >
void ck_tile::HostTensor< T >::loadtxt ( std::string  file_name,
std::string  dtype = "float" 
)
inline

◆ operator()() [1/4]

template<typename T >
template<typename... Is>
T& ck_tile::HostTensor< T >::operator() ( Is...  is)
inline

◆ operator()() [2/4]

template<typename T >
template<typename... Is>
const T& ck_tile::HostTensor< T >::operator() ( Is...  is) const
inline

◆ operator()() [3/4]

template<typename T >
T& ck_tile::HostTensor< T >::operator() ( std::vector< std::size_t >  idx)
inline

◆ operator()() [4/4]

template<typename T >
const T& ck_tile::HostTensor< T >::operator() ( std::vector< std::size_t >  idx) const
inline

◆ operator=() [1/2]

template<typename T >
HostTensor& ck_tile::HostTensor< T >::operator= ( const HostTensor< T > &  )
default

◆ operator=() [2/2]

template<typename T >
HostTensor& ck_tile::HostTensor< T >::operator= ( HostTensor< T > &&  )
default

◆ savetxt()

template<typename T >
void ck_tile::HostTensor< T >::savetxt ( std::string  file_name,
std::string  dtype = "float" 
)
inline

◆ SetZero()

template<typename T >
void ck_tile::HostTensor< T >::SetZero ( )
inline

◆ size()

template<typename T >
Data::size_type ck_tile::HostTensor< T >::size ( ) const
inline

◆ slice()

template<typename T >
auto ck_tile::HostTensor< T >::slice ( std::vector< size_t >  s_begin,
std::vector< size_t >  s_end 
) const
inline

◆ transpose() [1/2]

template<typename T >
HostTensor<T> ck_tile::HostTensor< T >::transpose ( std::vector< size_t >  axes = {})
inline

◆ transpose() [2/2]

template<typename T >
HostTensor<T> ck_tile::HostTensor< T >::transpose ( std::vector< size_t >  axes = {}) const
inline

Friends And Related Function Documentation

◆ operator<<

template<typename T >
std::ostream& operator<< ( std::ostream &  os,
const HostTensor< T > &  t 
)
friend

Member Data Documentation

◆ mData

template<typename T >
Data ck_tile::HostTensor< T >::mData

◆ mDesc

template<typename T >
Descriptor ck_tile::HostTensor< T >::mDesc

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/host/host_tensor.hpp