device_conv_fwd_bias_activation.hpp Source File

device_conv_fwd_bias_activation.hpp Source File#

Composable Kernel: device_conv_fwd_bias_activation.hpp Source File
device_conv_fwd_bias_activation.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved.
3
4#pragma once
5
6#include <vector>
7#include <iostream>
8
11
12namespace ck {
13namespace tensor_operation {
14namespace device {
15
16template <typename InElementwiseOperation,
17 typename WeiElementwiseOperation,
18 typename OutElementwiseOperation>
20{
21 virtual std::unique_ptr<BaseArgument>
22 MakeArgumentPointer(const void* p_in,
23 const void* p_wei,
24 void* p_out,
25 const void* p_bias,
29 std::vector<ck::index_t> input_spatial_lengths,
30 std::vector<ck::index_t> filter_spatial_lengths,
31 std::vector<ck::index_t> output_spatial_lengths,
32 std::vector<ck::index_t> conv_filter_strides,
33 std::vector<ck::index_t> conv_filter_dilations,
34 std::vector<ck::index_t> input_left_pads,
35 std::vector<ck::index_t> input_right_pads,
36 InElementwiseOperation in_element_op,
37 WeiElementwiseOperation wei_element_op,
38 OutElementwiseOperation out_element_op) = 0;
39
40 virtual std::unique_ptr<BaseInvoker> MakeInvokerPointer() = 0;
41};
42
43template <typename InElementwiseOperation,
44 typename WeiElementwiseOperation,
45 typename OutElementwiseOperation>
47 std::unique_ptr<DeviceConvFwdBiasActivation<InElementwiseOperation,
48 WeiElementwiseOperation,
49 OutElementwiseOperation>>;
50
51} // namespace device
52} // namespace tensor_operation
53} // namespace ck
Definition convolution_backward_data_specialization.hpp:8
std::unique_ptr< DeviceConvFwdBiasActivation< InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation > > DeviceConvFwdBiasActivationPtr
Definition device_conv_fwd_bias_activation.hpp:46
Definition convolution_backward_data_specialization.hpp:7
Definition ck.hpp:268
int32_t index_t
Definition ck.hpp:299
Definition device_conv_fwd_bias_activation.hpp:20
virtual std::unique_ptr< BaseArgument > MakeArgumentPointer(const void *p_in, const void *p_wei, void *p_out, const void *p_bias, ck::index_t N, ck::index_t K, ck::index_t C, std::vector< ck::index_t > input_spatial_lengths, std::vector< ck::index_t > filter_spatial_lengths, std::vector< ck::index_t > output_spatial_lengths, std::vector< ck::index_t > conv_filter_strides, std::vector< ck::index_t > conv_filter_dilations, std::vector< ck::index_t > input_left_pads, std::vector< ck::index_t > input_right_pads, InElementwiseOperation in_element_op, WeiElementwiseOperation wei_element_op, OutElementwiseOperation out_element_op)=0
virtual std::unique_ptr< BaseInvoker > MakeInvokerPointer()=0