device_grouped_conv_fwd_multiple_abd.hpp Source File#
device_grouped_conv_fwd_multiple_abd.hpp
Go to the documentation of this file.
Definition convolution_backward_data_specialization.hpp:8
decltype(std::declval< T & >().IsTuple()) is_tuple
Definition device_grouped_conv_fwd_multiple_abd.hpp:23
Definition convolution_backward_data_specialization.hpp:7
Definition ck.hpp:268
typename conditional< predicate, X, Y >::type conditional_t
Definition utility/functional.hpp:115
typename detail::detector< nonesuch, void, Op, Args... >::value_t is_detected
Definition is_detected.hpp:34
BaseOperator()=default
Grouped Convolution Forward.
Definition device_grouped_conv_fwd_multiple_abd.hpp:73
static constexpr bool isMultiB
Definition device_grouped_conv_fwd_multiple_abd.hpp:75
static constexpr bool isMultiA
Definition device_grouped_conv_fwd_multiple_abd.hpp:74
ck::conditional_t< isMultiA, std::array< const void *, NumATensor > &, const void * > APointers
Definition device_grouped_conv_fwd_multiple_abd.hpp:87
static constexpr index_t NumBTensor
Definition device_grouped_conv_fwd_multiple_abd.hpp:78
ck::conditional_t< isMultiB, std::array< const void *, NumBTensor > &, const void * > BPointers
Definition device_grouped_conv_fwd_multiple_abd.hpp:89
static constexpr index_t NumATensor
Definition device_grouped_conv_fwd_multiple_abd.hpp:77
static constexpr index_t NumDTensor
Definition device_grouped_conv_fwd_multiple_abd.hpp:79
virtual std::unique_ptr< BaseArgument > MakeArgumentPointer(APointers p_a, BPointers p_b, const std::array< const void *, NumDTensor > &p_ds, void *p_e, const std::array< long_index_t, NDimSpatial+3 > &a_g_n_c_wis_lengths, const std::array< long_index_t, NDimSpatial+3 > &a_g_n_c_wis_strides, const std::array< long_index_t, NDimSpatial+3 > &b_g_k_c_xs_lengths, const std::array< long_index_t, NDimSpatial+3 > &b_g_k_c_xs_strides, const std::array< std::array< long_index_t, NDimSpatial+3 >, NumDTensor > &ds_g_n_k_wos_lengths, const std::array< std::array< long_index_t, NDimSpatial+3 >, NumDTensor > &ds_g_n_k_wos_strides, const std::array< long_index_t, NDimSpatial+3 > &e_g_n_k_wos_lengths, const std::array< long_index_t, NDimSpatial+3 > &e_g_n_k_wos_strides, const std::array< long_index_t, NDimSpatial > &conv_filter_strides, const std::array< long_index_t, NDimSpatial > &conv_filter_dilations, const std::array< long_index_t, NDimSpatial > &input_left_pads, const std::array< long_index_t, NDimSpatial > &input_right_pads, const AElementwiseOperation &a_element_op, const BElementwiseOperation &b_element_op, const CDEElementwiseOperation &cde_element_op)=0
virtual std::unique_ptr< BaseArgument > MakeArgumentPointer(APointers p_a, BPointers p_b, const std::array< const void *, NumDTensor > &p_ds, void *p_e, const std::array< index_t, NDimSpatial+3 > &a_g_n_c_wis_lengths, const std::array< index_t, NDimSpatial+3 > &a_g_n_c_wis_strides, const std::array< index_t, NDimSpatial+3 > &b_g_k_c_xs_lengths, const std::array< index_t, NDimSpatial+3 > &b_g_k_c_xs_strides, const std::array< std::array< index_t, NDimSpatial+3 >, NumDTensor > &ds_g_n_k_wos_lengths, const std::array< std::array< index_t, NDimSpatial+3 >, NumDTensor > &ds_g_n_k_wos_strides, const std::array< index_t, NDimSpatial+3 > &e_g_n_k_wos_lengths, const std::array< index_t, NDimSpatial+3 > &e_g_n_k_wos_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, const AElementwiseOperation &a_element_op, const BElementwiseOperation &b_element_op, const CDEElementwiseOperation &cde_element_op)=0
Make argument pointer for grouped conv fwd.
virtual std::unique_ptr< BaseInvoker > MakeInvokerPointer()=0