Conv3DBackpropFilter Tiling Instructions
Ascend C provides a group of Conv3DBackpropFilter Tiling APIs for users to obtain tiling parameters required for Conv3DBackpropFilter kernel computation. You only need to input the position, format, DType data type, and related parameters of Input/GradOutput/GradWeight, and call the API to obtain the related parameters in the TConv3DBpFilterTiling structure of Init.
The Conv3DBackpropFilter tiling API provides a GetTiling interface to obtain tiling parameters. The process of obtaining tiling parameters is as follows:
- Create a single-core tiling object.
- Set the parameter type and shape information of Input, GradOutput, and GradWeight. If the Padding and Stride parameters exist, set them by calling SetPadding and SetStride APIs.
- Call the GetTiling API to obtain the tiling information.
The following is an example of using the Conv3DBackpropFilter Tiling API to obtain Tiling parameters:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include "tiling/conv_backprop/conv3d_bp_filter_tiling.h" optiling::Conv3DBackpropFilterTilingData tilingData; auto ascendcPlatform = platform_ascendc::PlatformAscendCManager::GetInstance(); ConvBackpropApi::Conv3dBpFilterTiling conv3dBpDwTiling(*ascendcPlatform); conv3dBpDwTiling.SetWeightType(ConvCommonApi::TPosition::CO1, ConvCommonApi::ConvFormat::FRACTAL_Z_3D, ConvCommonApi::ConvDtype::FLOAT32); conv3dBpDwTiling.SetInputType(ConvCommonApi::TPosition::GM, ConvCommonApi::ConvFormat::NDC1HWC0, ConvCommonApi::ConvDtype::FLOAT16); conv3dBpDwTiling.SetGradOutputType(ConvCommonApi::TPosition::GM, ConvCommonApi::ConvFormat::NDC1HWC0, ConvCommonApi::ConvDtype::FLOAT16); conv3dBpDwTiling.SetGradOutputShape(n, c, d, h, w); conv3dBpDwTiling.SetInputShape(n, c, d, h, w); conv3dBpDwTiling.SetWeightShape(cout, cin, d, h, w); conv3dBpDwTiling.SetPadding(padFront, padBack, padUp, padDown, padLeft, padRight); conv3dBpDwTiling.SetStride(strideD, strideH, strideW); conv3dBpDwTiling.SetDilation(dilationD, dilationH, dilationW); int ret = conv3dBpDwTiling.GetTiling(tilingData); // If ret = -1, the tiling result fails to be obtained. |
Header File to Be Included
1 | #include "lib/conv_backprop/conv3d_bp_filter_tiling.h" |
Parent topic: Conv3DBackpropFilter Tiling API