BatchedContractionHostArgs< NumDTensor > Struct Template Reference

BatchedContractionHostArgs&lt; NumDTensor &gt; Struct Template Reference#

Composable Kernel: BatchedContractionHostArgs< NumDTensor > Struct Template Reference
BatchedContractionHostArgs< NumDTensor > Struct Template Reference

#include <batched_contraction_kernel.hpp>

Public Member Functions

CK_TILE_HOST BatchedContractionHostArgs (const void *a_ptr_, const void *b_ptr_, const std::array< const void *, NumDTensor > &ds_ptr_, void *e_ptr_, ck_tile::index_t k_batch_, const std::vector< ck_tile::index_t > &A_dims_, const std::vector< ck_tile::index_t > &B_dims_, const std::array< std::vector< ck_tile::index_t >, NumDTensor > &Ds_dims_, const std::vector< ck_tile::index_t > &E_dims_, const std::vector< ck_tile::index_t > &A_strides_, const std::vector< ck_tile::index_t > &B_strides_, const std::array< std::vector< ck_tile::index_t >, NumDTensor > &Ds_strides_, const std::vector< ck_tile::index_t > &E_strides_)
 Constructor for batched contraction host arguments.

Public Attributes

const void * a_ptr
 Pointer to input tensor A.
const void * b_ptr
 Pointer to input tensor B.
std::array< const void *, NumDTensor > ds_ptr
 Array of pointers to auxiliary input tensors D.
void * e_ptr
 Pointer to output tensor E.
ck_tile::index_t k_batch
 Number of k-splits for split-K batching.
const std::vector< ck_tile::index_tA_dims
 Dimension vector for tensor A: [G0, G1, ..., M0, M1, ..., K0, K1, ...].
const std::vector< ck_tile::index_tB_dims
 Dimension vector for tensor B: [G0, G1, ..., N0, N1, ..., K0, K1, ...].
const std::array< std::vector< ck_tile::index_t >, NumDTensor > Ds_dims
 Dimension vectors for D tensors: [G0, G1, ..., M0, M1, ..., N0, N1, ...].
const std::vector< ck_tile::index_tE_dims
 Dimension vector for tensor E: [G0, G1, ..., M0, M1, ..., N0, N1, ...].
const std::vector< ck_tile::index_tA_strides
 Stride vector for tensor A: [G0, G1, ..., M0, M1, ..., K0, K1, ...].
const std::vector< ck_tile::index_tB_strides
 Stride vector for tensor B: [G0, G1, ..., N0, N1, ..., K0, K1, ...].
const std::array< std::vector< ck_tile::index_t >, NumDTensor > Ds_strides
 Stride vectors for D tensors: [G0, G1, ..., M0, M1, ..., N0, N1, ...].
const std::vector< ck_tile::index_tE_strides
 Stride vector for tensor E: [G0, G1, ..., M0, M1, ..., N0, N1, ...].

Constructor & Destructor Documentation

◆ BatchedContractionHostArgs()

template<ck_tile::index_t NumDTensor = 0>
CK_TILE_HOST BatchedContractionHostArgs< NumDTensor >::BatchedContractionHostArgs ( const void * a_ptr_,
const void * b_ptr_,
const std::array< const void *, NumDTensor > & ds_ptr_,
void * e_ptr_,
ck_tile::index_t k_batch_,
const std::vector< ck_tile::index_t > & A_dims_,
const std::vector< ck_tile::index_t > & B_dims_,
const std::array< std::vector< ck_tile::index_t >, NumDTensor > & Ds_dims_,
const std::vector< ck_tile::index_t > & E_dims_,
const std::vector< ck_tile::index_t > & A_strides_,
const std::vector< ck_tile::index_t > & B_strides_,
const std::array< std::vector< ck_tile::index_t >, NumDTensor > & Ds_strides_,
const std::vector< ck_tile::index_t > & E_strides_ )
inline

Constructor for batched contraction host arguments.

Parameters
a_ptr_Pointer to input tensor A
b_ptr_Pointer to input tensor B
ds_ptr_Array of pointers to auxiliary input tensors D
e_ptr_Pointer to output tensor E
k_batch_Number of k-splits for split-K batching
A_dims_Dimension vector for tensor A: [G0, G1, ..., M0, M1, ..., K0, K1, ...]
B_dims_Dimension vector for tensor B: [G0, G1, ..., N0, N1, ..., K0, K1, ...]
Ds_dims_Dimension vectors for D tensors: [G0, G1, ..., M0, M1, ..., N0, N1, ...]
E_dims_Dimension vector for tensor E: [G0, G1, ..., M0, M1, ..., N0, N1, ...]
A_strides_Stride vector for tensor A: [G0, G1, ..., M0, M1, ..., K0, K1, ...]
B_strides_Stride vector for tensor B: [G0, G1, ..., N0, N1, ..., K0, K1, ...]
Ds_strides_Stride vectors for D tensors: [G0, G1, ..., M0, M1, ..., N0, N1, ...]
E_strides_Stride vector for tensor E: [G0, G1, ..., M0, M1, ..., N0, N1, ...]

Member Data Documentation

◆ A_dims

template<ck_tile::index_t NumDTensor = 0>
const std::vector<ck_tile::index_t> BatchedContractionHostArgs< NumDTensor >::A_dims

Dimension vector for tensor A: [G0, G1, ..., M0, M1, ..., K0, K1, ...].

◆ a_ptr

template<ck_tile::index_t NumDTensor = 0>
const void* BatchedContractionHostArgs< NumDTensor >::a_ptr

Pointer to input tensor A.

◆ A_strides

template<ck_tile::index_t NumDTensor = 0>
const std::vector<ck_tile::index_t> BatchedContractionHostArgs< NumDTensor >::A_strides

Stride vector for tensor A: [G0, G1, ..., M0, M1, ..., K0, K1, ...].

◆ B_dims

template<ck_tile::index_t NumDTensor = 0>
const std::vector<ck_tile::index_t> BatchedContractionHostArgs< NumDTensor >::B_dims

Dimension vector for tensor B: [G0, G1, ..., N0, N1, ..., K0, K1, ...].

◆ b_ptr

template<ck_tile::index_t NumDTensor = 0>
const void* BatchedContractionHostArgs< NumDTensor >::b_ptr

Pointer to input tensor B.

◆ B_strides

template<ck_tile::index_t NumDTensor = 0>
const std::vector<ck_tile::index_t> BatchedContractionHostArgs< NumDTensor >::B_strides

Stride vector for tensor B: [G0, G1, ..., N0, N1, ..., K0, K1, ...].

◆ Ds_dims

template<ck_tile::index_t NumDTensor = 0>
const std::array<std::vector<ck_tile::index_t>, NumDTensor> BatchedContractionHostArgs< NumDTensor >::Ds_dims

Dimension vectors for D tensors: [G0, G1, ..., M0, M1, ..., N0, N1, ...].

◆ ds_ptr

template<ck_tile::index_t NumDTensor = 0>
std::array<const void*, NumDTensor> BatchedContractionHostArgs< NumDTensor >::ds_ptr

Array of pointers to auxiliary input tensors D.

◆ Ds_strides

template<ck_tile::index_t NumDTensor = 0>
const std::array<std::vector<ck_tile::index_t>, NumDTensor> BatchedContractionHostArgs< NumDTensor >::Ds_strides

Stride vectors for D tensors: [G0, G1, ..., M0, M1, ..., N0, N1, ...].

◆ E_dims

template<ck_tile::index_t NumDTensor = 0>
const std::vector<ck_tile::index_t> BatchedContractionHostArgs< NumDTensor >::E_dims

Dimension vector for tensor E: [G0, G1, ..., M0, M1, ..., N0, N1, ...].

◆ e_ptr

template<ck_tile::index_t NumDTensor = 0>
void* BatchedContractionHostArgs< NumDTensor >::e_ptr

Pointer to output tensor E.

◆ E_strides

template<ck_tile::index_t NumDTensor = 0>
const std::vector<ck_tile::index_t> BatchedContractionHostArgs< NumDTensor >::E_strides

Stride vector for tensor E: [G0, G1, ..., M0, M1, ..., N0, N1, ...].

◆ k_batch

template<ck_tile::index_t NumDTensor = 0>
ck_tile::index_t BatchedContractionHostArgs< NumDTensor >::k_batch

Number of k-splits for split-K batching.


The documentation for this struct was generated from the following file: