CUDNN Frontend API  8.3.0
cudnn_frontend::OperationBuilder_v8 Class Reference

#include <cudnn_frontend_Operation.h>

Collaboration diagram for cudnn_frontend::OperationBuilder_v8:
Collaboration graph

Public Member Functions

auto setxDesc (ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &
 Will be Deprecated Do not use. More...
 
auto setxDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setbDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setyDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setwDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setdyDesc (ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &
 Will be Deprecated Do not use. More...
 
auto setdyDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setdxDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setdwDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setcDesc (ConvDesc_v8 const &conv) -> OperationBuilder_v8 &
 
auto setaMatDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setbMatDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setcMatDesc (Tensor_v8 const &tensor) -> OperationBuilder_v8 &
 
auto setmatmulDesc (MatMulDesc_v8 const &matmulDesc) -> OperationBuilder_v8 &
 
auto setreductionDesc (ReductionDesc_v8 const &reductionDesc) -> OperationBuilder_v8 &
 
auto setpwDesc (PointWiseDesc_v8 const &pointWiseDesc) -> OperationBuilder_v8 &
 
auto setAlpha (float alpha) -> OperationBuilder_v8 &
 
auto setAlpha (double alpha) -> OperationBuilder_v8 &
 
auto setAlpha2 (float alpha) -> OperationBuilder_v8 &
 
auto setAlpha2 (double alpha) -> OperationBuilder_v8 &
 
auto setBeta (float beta) -> OperationBuilder_v8 &
 
auto setBeta (double beta) -> OperationBuilder_v8 &
 
 OperationBuilder_v8 (cudnnBackendDescriptorType_t mode)
 
Operation_v8 && build ()
 

Private Types

using Message_t = const char *
 

Private Member Functions

Operation_v8 && build_reduction_op ()
 
Operation_v8 && build_matmul_op ()
 
Operation_v8 && build_pointwise_op ()
 
Operation_v8 && build_conv_backward_data ()
 
Operation_v8 && build_conv_backward_filter ()
 
Operation_v8 && build_conv_forward ()
 
void extract_feature_vector (cudnnBackendDescriptorType_t op_type)
 
cudnnStatus_t validate_matmul_op (Message_t &msg)
 
cudnnStatus_t validate_reduction_op (Message_t &msg)
 
cudnnStatus_t validate_pointwise_op (Message_t &msg)
 
cudnnStatus_t validate_convolution_op (Message_t &msg)
 
void copy_dims_and_strides (const int64_t *from, int64_t *to) const
 

Private Attributes

Operation_v8 m_operation
 
bool is_convolution_op = false
 
bool is_pointwise_op = false
 
bool is_matmul_op = false
 
bool is_reduction_op = false
 
int64_t xTensor_dimA [CUDNN_DIM_MAX+1]
 
int64_t xTensor_strA [CUDNN_DIM_MAX+1]
 
int64_t wTensor_dimA [CUDNN_DIM_MAX+1]
 
int64_t wTensor_strA [CUDNN_DIM_MAX+1]
 
int64_t yTensor_dimA [CUDNN_DIM_MAX+1]
 
int64_t yTensor_strA [CUDNN_DIM_MAX+1]
 
bool is2D = true
 
int64_t conv_padding [CUDNN_DIM_MAX]
 
int64_t conv_dilation [CUDNN_DIM_MAX]
 
int64_t conv_stride [CUDNN_DIM_MAX]
 
int64_t mode
 
int64_t xType
 
int64_t yType
 
int64_t wType
 
int64_t cType
 
int64_t tensor_dims = 0
 

Detailed Description

OperationBuilder_v8 Class Helper class used to build Operation_v8 class

Definition at line 156 of file cudnn_frontend_Operation.h.

Member Typedef Documentation

◆ Message_t

using cudnn_frontend::OperationBuilder_v8::Message_t = const char *
private

Definition at line 164 of file cudnn_frontend_Operation.h.

Member Function Documentation

◆ build()

Operation_v8&& cudnn_frontend::OperationBuilder_v8::build ( )
inline

◆ build_conv_backward_data()

◆ build_conv_backward_filter()

◆ build_conv_forward()

◆ build_matmul_op()

◆ build_pointwise_op()

◆ build_reduction_op()

◆ copy_dims_and_strides()

void cudnn_frontend::OperationBuilder_v8::copy_dims_and_strides ( const int64_t *  from,
int64_t *  to 
) const
inlineprivate

Definition at line 1047 of file cudnn_frontend_Operation.h.

◆ extract_feature_vector()

void cudnn_frontend::OperationBuilder_v8::extract_feature_vector ( cudnnBackendDescriptorType_t  op_type)
inlineprivate

Build the feature vector of this operation now.

Padding

Dilation

Strides

Definition at line 845 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::feature_vector.

◆ validate_convolution_op()

◆ validate_matmul_op()

cudnnStatus_t cudnn_frontend::OperationBuilder_v8::validate_matmul_op ( Message_t msg)
inlineprivate

◆ validate_pointwise_op()

◆ validate_reduction_op()

cudnnStatus_t cudnn_frontend::OperationBuilder_v8::validate_reduction_op ( Message_t msg)
inlineprivate

Member Data Documentation

◆ conv_dilation

int64_t cudnn_frontend::OperationBuilder_v8::conv_dilation[CUDNN_DIM_MAX]
private

Definition at line 176 of file cudnn_frontend_Operation.h.

◆ conv_padding

int64_t cudnn_frontend::OperationBuilder_v8::conv_padding[CUDNN_DIM_MAX]
private

Definition at line 175 of file cudnn_frontend_Operation.h.

◆ conv_stride

int64_t cudnn_frontend::OperationBuilder_v8::conv_stride[CUDNN_DIM_MAX]
private

Definition at line 177 of file cudnn_frontend_Operation.h.

◆ cType

int64_t cudnn_frontend::OperationBuilder_v8::cType
private

Definition at line 179 of file cudnn_frontend_Operation.h.

◆ is2D

bool cudnn_frontend::OperationBuilder_v8::is2D = true
private

Definition at line 173 of file cudnn_frontend_Operation.h.

◆ is_convolution_op

bool cudnn_frontend::OperationBuilder_v8::is_convolution_op = false
private

Definition at line 159 of file cudnn_frontend_Operation.h.

◆ is_matmul_op

bool cudnn_frontend::OperationBuilder_v8::is_matmul_op = false
private

Definition at line 161 of file cudnn_frontend_Operation.h.

◆ is_pointwise_op

bool cudnn_frontend::OperationBuilder_v8::is_pointwise_op = false
private

Definition at line 160 of file cudnn_frontend_Operation.h.

◆ is_reduction_op

bool cudnn_frontend::OperationBuilder_v8::is_reduction_op = false
private

Definition at line 162 of file cudnn_frontend_Operation.h.

◆ m_operation

Operation_v8 cudnn_frontend::OperationBuilder_v8::m_operation
private

Definition at line 158 of file cudnn_frontend_Operation.h.

◆ mode

int64_t cudnn_frontend::OperationBuilder_v8::mode
private

Definition at line 178 of file cudnn_frontend_Operation.h.

◆ tensor_dims

int64_t cudnn_frontend::OperationBuilder_v8::tensor_dims = 0
private

Definition at line 181 of file cudnn_frontend_Operation.h.

◆ wTensor_dimA

int64_t cudnn_frontend::OperationBuilder_v8::wTensor_dimA[CUDNN_DIM_MAX+1]
private

Definition at line 168 of file cudnn_frontend_Operation.h.

◆ wTensor_strA

int64_t cudnn_frontend::OperationBuilder_v8::wTensor_strA[CUDNN_DIM_MAX+1]
private

Definition at line 169 of file cudnn_frontend_Operation.h.

◆ wType

int64_t cudnn_frontend::OperationBuilder_v8::wType
private

Definition at line 179 of file cudnn_frontend_Operation.h.

◆ xTensor_dimA

int64_t cudnn_frontend::OperationBuilder_v8::xTensor_dimA[CUDNN_DIM_MAX+1]
private

Definition at line 166 of file cudnn_frontend_Operation.h.

◆ xTensor_strA

int64_t cudnn_frontend::OperationBuilder_v8::xTensor_strA[CUDNN_DIM_MAX+1]
private

Definition at line 167 of file cudnn_frontend_Operation.h.

◆ xType

int64_t cudnn_frontend::OperationBuilder_v8::xType
private

Definition at line 179 of file cudnn_frontend_Operation.h.

◆ yTensor_dimA

int64_t cudnn_frontend::OperationBuilder_v8::yTensor_dimA[CUDNN_DIM_MAX+1]
private

Definition at line 170 of file cudnn_frontend_Operation.h.

◆ yTensor_strA

int64_t cudnn_frontend::OperationBuilder_v8::yTensor_strA[CUDNN_DIM_MAX+1]
private

Definition at line 171 of file cudnn_frontend_Operation.h.

◆ yType

int64_t cudnn_frontend::OperationBuilder_v8::yType
private

Definition at line 179 of file cudnn_frontend_Operation.h.


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