/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/tensor_operation/gpu/device/device_conv_fwd_bias_activation.hpp Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/tensor_operation/gpu/device/device_conv_fwd_bias_activation.hpp Source File#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/tensor_operation/gpu/device/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 
12 namespace ck {
13 namespace tensor_operation {
14 namespace device {
15 
16 template <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,
26  ck::index_t N,
27  ck::index_t K,
28  ck::index_t C,
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 
43 template <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
std::unique_ptr< DeviceConvFwdBiasActivation< InElementwiseOperation, WeiElementwiseOperation, OutElementwiseOperation > > DeviceConvFwdBiasActivationPtr
Definition: device_conv_fwd_bias_activation.hpp:49
Definition: ck.hpp:264
int32_t index_t
Definition: ck.hpp:289
Definition: device_base.hpp:76
Definition: device_conv_fwd_bias_activation.hpp:20
virtual std::unique_ptr< BaseInvoker > MakeInvokerPointer()=0
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