Argument Struct Reference

Argument Struct Reference#

Composable Kernel: ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument Struct Reference
ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument Struct Reference

#include <device_column_to_image_impl.hpp>

Inheritance diagram for ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument:
ck::tensor_operation::device::BaseArgument

Public Member Functions

 Argument (const void *p_in, void *p_out, const ck::index_t G, const ck::index_t N, const ck::index_t C, const std::array< index_t, NDimSpatial > &input_spatial_lengths, const std::array< index_t, NDimSpatial > &filter_spatial_lengths, const std::array< index_t, NDimSpatial > &output_spatial_lengths, const std::array< index_t, NDimSpatial+3 > &image_g_n_c_wis_strides, const std::array< index_t, 3 > &gemm_g_m_k_strides, const std::array< index_t, NDimSpatial > &conv_filter_strides, const std::array< index_t, NDimSpatial > &conv_filter_dilations, const std::array< index_t, NDimSpatial > &input_left_pads, const std::array< index_t, NDimSpatial > &input_right_pads)
void Print () const
Public Member Functions inherited from ck::tensor_operation::device::BaseArgument
 BaseArgument ()=default
 BaseArgument (const BaseArgument &)=default
BaseArgumentoperator= (const BaseArgument &)=default
virtual ~BaseArgument ()

Public Attributes

const ck::index_t G_
const ck::index_t C_
const ck::index_t X_
const InputDataType * p_in_
OutputDataType * p_out_
const std::array< index_t, NDimSpatial+3 > & image_g_n_c_wis_strides_
const std::array< index_t, NDimSpatial > & conv_filter_strides_
const std::array< index_t, NDimSpatial > & conv_filter_dilations_
const std::array< index_t, NDimSpatial > & input_left_pads_
const std::array< index_t, NDimSpatial > & input_right_pads_
std::vector< InputGridDescin_grid_desc_m_k_container_
std::vector< OutputGridDescout_grid_desc_m_k_container_
std::vector< const InputDataType * > p_in_container_
std::vector< OutputDataType * > p_out_container_
ComputePtrOffsetOfStridedBatch compute_ptr_offset_of_batch_
Public Attributes inherited from ck::tensor_operation::device::BaseArgument
void * p_workspace_ = nullptr

Constructor & Destructor Documentation

◆ Argument()

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::Argument ( const void * p_in,
void * p_out,
const ck::index_t G,
const ck::index_t N,
const ck::index_t C,
const std::array< index_t, NDimSpatial > & input_spatial_lengths,
const std::array< index_t, NDimSpatial > & filter_spatial_lengths,
const std::array< index_t, NDimSpatial > & output_spatial_lengths,
const std::array< index_t, NDimSpatial+3 > & image_g_n_c_wis_strides,
const std::array< index_t, 3 > & gemm_g_m_k_strides,
const std::array< index_t, NDimSpatial > & conv_filter_strides,
const std::array< index_t, NDimSpatial > & conv_filter_dilations,
const std::array< index_t, NDimSpatial > & input_left_pads,
const std::array< index_t, NDimSpatial > & input_right_pads )
inline

Member Function Documentation

◆ Print()

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
void ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::Print ( ) const
inline

Member Data Documentation

◆ C_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
const ck::index_t ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::C_

◆ compute_ptr_offset_of_batch_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
ComputePtrOffsetOfStridedBatch ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::compute_ptr_offset_of_batch_

◆ conv_filter_dilations_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
const std::array<index_t, NDimSpatial>& ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::conv_filter_dilations_

◆ conv_filter_strides_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
const std::array<index_t, NDimSpatial>& ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::conv_filter_strides_

◆ G_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
const ck::index_t ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::G_

◆ image_g_n_c_wis_strides_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
const std::array<index_t, NDimSpatial + 3>& ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::image_g_n_c_wis_strides_

◆ in_grid_desc_m_k_container_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
std::vector<InputGridDesc> ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::in_grid_desc_m_k_container_

◆ input_left_pads_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
const std::array<index_t, NDimSpatial>& ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::input_left_pads_

◆ input_right_pads_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
const std::array<index_t, NDimSpatial>& ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::input_right_pads_

◆ out_grid_desc_m_k_container_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
std::vector<OutputGridDesc> ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::out_grid_desc_m_k_container_

◆ p_in_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
const InputDataType* ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::p_in_

◆ p_in_container_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
std::vector<const InputDataType*> ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::p_in_container_

◆ p_out_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
OutputDataType* ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::p_out_

◆ p_out_container_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
std::vector<OutputDataType*> ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::p_out_container_

◆ X_

template<index_t NDimSpatial, typename ImageLayout, typename InputDataType, typename OutputDataType, index_t BlockSize, index_t MPerBlock, index_t KPerBlock, typename ThreadClusterLengths, index_t ScalarPerVector, typename std::enable_if< NDimSpatial > = 1 && NDimSpatial <= 3, bool, ::type = false>
const ck::index_t ck::tensor_operation::device::DeviceColumnToImageImpl< NDimSpatial, ImageLayout, InputDataType, OutputDataType, BlockSize, MPerBlock, KPerBlock, ThreadClusterLengths, ScalarPerVector,, bool, type >::Argument::X_

The documentation for this struct was generated from the following file: