CANN/asc-devkit Conv3DBackpropFilter Tiling使用说明

📅 2026/7/4 7:14:22 👁️ 阅读次数 📝 编程学习
CANN/asc-devkit Conv3DBackpropFilter Tiling使用说明

Conv3DBackpropFilter Tiling使用说明

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

Ascend C提供一组Conv3DBackpropFilter Tiling API,方便用户获取Conv3DBackpropFilter Kernel计算时所需的Tiling参数。用户只需要传入Input/GradOutput/GradWeight的Position位置、Format格式和DType数据类型及相关参数等信息,调用API接口,即可获取Init中TConv3DBpFilterTiling结构体中的相关参数。

Conv3DBackpropFilter Tiling API提供一个GetTiling接口获取Tiling参数,获取Tiling参数的流程如下:

  1. 创建一个单核Tiling对象。
  2. 设置Input、GradOutput、GradWeight的参数类型信息以及Shape信息,如果存在Padding、Stride参数,通过SetPadding、SetStride接口设置。
  3. 调用GetTiling接口,获取Tiling信息。

使用Conv3DBackpropFilter Tiling接口获取Tiling参数的样例如下:

#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); // 如果ret = -1,获取tiling结果失败

需要包含的头文件

#include "lib/conv_backprop/conv3d_bp_filter_tiling.h"

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考