CUDNN Frontend API 8.3.0

Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
cudnn_frontend::OperationBuilder_v8 Class Reference

`#include <cudnn_frontend_Operation.h>`

Collaboration diagram for cudnn_frontend::OperationBuilder_v8:

## 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

constructs the backend Operation_v8 by calling the cudnn API Throws the appropriate error message

Definition at line 1332 of file cudnn_frontend_Operation.h.

References cudnn_frontend::getLogger(), cudnn_frontend::BackendDescriptor::initialize_managed_backend_pointer(), cudnn_frontend::Operation_v8::op_mode, cudnn_frontend::set_error_and_throw_exception(), and cudnn_frontend::BackendDescriptor::status.

## ◆ build_conv_backward_data()

Operation_v8&& cudnn_frontend::OperationBuilder_v8::build_conv_backward_data | ( |  | ) |
| inline private

Definition at line 556 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::beta_d, cudnn_frontend::Operation_v8::beta_s, cudnn_frontend::Operation_v8::cdesc, cudnn_frontend::Operation_v8::dxdesc, cudnn_frontend::Operation_v8::dydesc, cudnn_frontend::getLogger(), cudnn_frontend::Operation_v8::operationTag, cudnn_frontend::BackendDescriptor::pointer, cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::BackendDescriptor::status, cudnn_frontend::Operation_v8::wdesc, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

## ◆ build_conv_backward_filter()

Operation_v8&& cudnn_frontend::OperationBuilder_v8::build_conv_backward_filter | ( |  | ) |
| inline private

Definition at line 655 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::beta_d, cudnn_frontend::Operation_v8::beta_s, cudnn_frontend::Operation_v8::cdesc, cudnn_frontend::Operation_v8::dwdesc, cudnn_frontend::Operation_v8::dydesc, cudnn_frontend::getLogger(), cudnn_frontend::Operation_v8::operationTag, cudnn_frontend::BackendDescriptor::pointer, cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::BackendDescriptor::status, cudnn_frontend::Operation_v8::wdesc, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

## ◆ build_conv_forward()

Operation_v8&& cudnn_frontend::OperationBuilder_v8::build_conv_forward | ( |  | ) |
| inline private

Definition at line 753 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::beta_d, cudnn_frontend::Operation_v8::beta_s, cudnn_frontend::Operation_v8::cdesc, cudnn_frontend::getLogger(), cudnn_frontend::Operation_v8::operationTag, cudnn_frontend::BackendDescriptor::pointer, cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::BackendDescriptor::status, cudnn_frontend::Operation_v8::wdesc, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

## ◆ build_matmul_op()

Operation_v8&& cudnn_frontend::OperationBuilder_v8::build_matmul_op | ( |  | ) |
| inline private

Definition at line 240 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::amatdesc, cudnn_frontend::Operation_v8::bmatdesc, cudnn_frontend::Operation_v8::cmatdesc, cudnn_frontend::Operation_v8::matmuldesc, cudnn_frontend::Operation_v8::operationTag, cudnn_frontend::BackendDescriptor::pointer, cudnn_frontend::set_error_and_throw_exception(), and cudnn_frontend::BackendDescriptor::status.

## ◆ build_pointwise_op()

Operation_v8&& cudnn_frontend::OperationBuilder_v8::build_pointwise_op | ( |  | ) |
| inline private

Definition at line 300 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::alpha2_d, cudnn_frontend::Operation_v8::alpha2_s, cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::bdesc, cudnn_frontend::Operation_v8::dxdesc, cudnn_frontend::Operation_v8::dydesc, cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op, cudnn_frontend::Operation_v8::operationTag, cudnn_frontend::BackendDescriptor::pointer, cudnn_frontend::Operation_v8::pointwise_mode, cudnn_frontend::Operation_v8::pointwise_port_count, cudnn_frontend::Operation_v8::pwdesc, cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::BackendDescriptor::status, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

## ◆ build_reduction_op()

Operation_v8&& cudnn_frontend::OperationBuilder_v8::build_reduction_op | ( |  | ) |
| inline private

Definition at line 184 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::operationTag, cudnn_frontend::BackendDescriptor::pointer, cudnn_frontend::Operation_v8::reductiondesc, cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::BackendDescriptor::status, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

## ◆ copy_dims_and_strides()

void cudnn_frontend::OperationBuilder_v8::copy_dims_and_strides | ( | const int64_t * | from,
|  | int64_t * | to
| ) |  | const
| inline private

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 | ) |
| inline private

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()

cudnnStatus_t cudnn_frontend::OperationBuilder_v8::validate_convolution_op | ( | Message_t & | msg | ) |
| inline private

Definition at line 978 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::cdesc, cudnn_frontend::Operation_v8::dwdesc, cudnn_frontend::Operation_v8::dxdesc, cudnn_frontend::Operation_v8::dydesc, cudnn_frontend::Operation_v8::op_mode, cudnn_frontend::Operation_v8::wdesc, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

## ◆ validate_matmul_op()

cudnnStatus_t cudnn_frontend::OperationBuilder_v8::validate_matmul_op | ( | Message_t & | msg | ) |
| inline private

Definition at line 904 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::amatdesc, cudnn_frontend::Operation_v8::bmatdesc, cudnn_frontend::Operation_v8::cmatdesc, and cudnn_frontend::Operation_v8::matmuldesc.

## ◆ validate_pointwise_op()

cudnnStatus_t cudnn_frontend::OperationBuilder_v8::validate_pointwise_op | ( | Message_t & | msg | ) |
| inline private

Definition at line 942 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::bdesc, cudnn_frontend::Operation_v8::dxdesc, cudnn_frontend::Operation_v8::dydesc, cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op, cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op, cudnn_frontend::Operation_v8::is_pointwise_math_op, cudnn_frontend::Operation_v8::pointwise_port_count, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

## ◆ validate_reduction_op()

cudnnStatus_t cudnn_frontend::OperationBuilder_v8::validate_reduction_op | ( | Message_t & | msg | ) |
| inline private

Definition at line 925 of file cudnn_frontend_Operation.h.

References cudnn_frontend::Operation_v8::reductiondesc, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

## 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:

- cudnn_frontend_Operation.h