/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/tensor_operation/gpu/device/device_put_element.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_put_element.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_put_element.hpp Source File
device_put_element.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 
10 
11 namespace ck {
12 namespace tensor_operation {
13 namespace device {
14 
15 // output[indices] = input
16 template <typename InDataType,
17  typename IndexDataType,
18  typename OutDataType,
19  typename ElementwiseOperation,
22 {
23  virtual std::unique_ptr<BaseArgument>
24  MakeArgumentPointer(const void* p_input,
25  const void* p_indices,
26  void* p_output,
27  index_t input_length,
28  index_t output_length,
29  ElementwiseOperation elementwise_op) = 0;
30 
31  virtual std::unique_ptr<BaseInvoker> MakeInvokerPointer() = 0;
32 };
33 
34 } // namespace device
35 } // namespace tensor_operation
36 } // namespace ck
Definition: ck.hpp:264
InMemoryDataOperationEnum
Definition: ck.hpp:267
int32_t index_t
Definition: ck.hpp:289
Definition: device_base.hpp:76
Definition: device_put_element.hpp:22
virtual std::unique_ptr< BaseArgument > MakeArgumentPointer(const void *p_input, const void *p_indices, void *p_output, index_t input_length, index_t output_length, ElementwiseOperation elementwise_op)=0
virtual std::unique_ptr< BaseInvoker > MakeInvokerPointer()=0