device_gemm_streamk_v2.hpp Source File

device_gemm_streamk_v2.hpp Source File#

Composable Kernel: device_gemm_streamk_v2.hpp Source File
device_gemm_streamk_v2.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// Copyright (c) 2024, Advanced Micro Devices, Inc. All rights reserved.
3
4#pragma once
5
8
9namespace ck {
10namespace tensor_operation {
11namespace device {
12
13template <typename ALayout,
14 typename BLayout,
15 typename CLayout,
16 typename ADataType,
17 typename BDataType,
18 typename CDataType,
19 typename AElementwiseOperation,
20 typename BElementwiseOperation,
21 typename CElementwiseOperation>
23{
24 virtual std::unique_ptr<BaseArgument> MakeArgumentPointer(
25 const void* p_a,
26 const void* p_b,
27 void* p_c,
31 ck::index_t StrideA,
32 ck::index_t StrideB,
33 ck::index_t StrideC,
34 ck::index_t Streamk_sel,
35 ck::index_t Grid_size,
36 AElementwiseOperation a_element_op,
37 BElementwiseOperation b_element_op,
38 CElementwiseOperation c_element_op,
40
41 virtual std::unique_ptr<BaseInvoker> MakeInvokerPointer() = 0;
42};
43
44} // namespace device
45} // namespace tensor_operation
46} // namespace ck
Definition convolution_backward_data_specialization.hpp:8
Definition convolution_backward_data_specialization.hpp:7
Definition ck.hpp:268
StreamKReductionStrategy
Definition block_to_ctile_map.hpp:1011
@ Atomic
Definition block_to_ctile_map.hpp:1012
int32_t index_t
Definition ck.hpp:299
Definition device_gemm_streamk_v2.hpp:23
virtual std::unique_ptr< BaseInvoker > MakeInvokerPointer()=0
virtual std::unique_ptr< BaseArgument > MakeArgumentPointer(const void *p_a, const void *p_b, void *p_c, ck::index_t M, ck::index_t N, ck::index_t K, ck::index_t StrideA, ck::index_t StrideB, ck::index_t StrideC, ck::index_t Streamk_sel, ck::index_t Grid_size, AElementwiseOperation a_element_op, BElementwiseOperation b_element_op, CElementwiseOperation c_element_op, StreamKReductionStrategy reduction_strategy=StreamKReductionStrategy::Atomic)=0