---
title: TConv3DApiTiling结构体
description: "TConv3DApiTiling结构体包含Conv3D算子规格信息及Tiling切分算法的相关参数，被传递给Conv3D Kernel侧，用于数据切分、数据搬运和计算等。TConv3DApiTiling结构体的参数说明见表1。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendcopapi/atlasascendc_api_07_10082.html
sourcePath: /source/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_10082.html
indexId: 76a78bb6d4c4ae3555228fde52cc7f6d91c2e2b9ba78b7212e0ee4f417825bc177
---
# TConv3DApiTiling结构体

TConv3DApiTiling结构体包含Conv3D算子规格信息及Tiling切分算法的相关参数，被传递给Conv3D Kernel侧，用于数据切分、数据搬运和计算等。TConv3DApiTiling结构体的参数说明见表1。

用户通过调用GetTiling接口获取TConv3DApiTiling结构体，具体流程请参考Conv3D Tiling使用说明。当前暂不支持用户自定义配置TConv3DApiTiling结构体中的参数。


**表1 TConv3DApiTiling结构说明**

| 参数名称 | 数据类型 | 说明 |
| --- | --- | --- |
| groups | uint32\_t | 预留参数，当前仅支持为1。 |
| singleCoreDo | uint64\_t | 单核上处理的Dout大小。 |
| singleCoreCo | uint32\_t | 单核上处理的Cout大小。 |
| singleCoreM | uint64\_t | 单核上处理的M大小。 |
| orgDo | uint64\_t | Conv3D计算中原始Dout大小。 |
| orgCo | uint32\_t | Conv3D计算中原始Cout大小。 |
| orgHo | uint64\_t | Conv3D计算中原始Hout大小。 |
| orgWo | uint64\_t | Conv3D计算中原始Wout大小。 |
| orgCi | uint32\_t | Conv3D计算中原始Cin大小。 |
| orgDi | uint64\_t | Conv3D计算中原始Din大小。 |
| orgHi | uint64\_t | Conv3D计算中原始Hin大小。 |
| orgWi | uint64\_t | Conv3D计算中原始Win大小。 |
| kernelD | uint32\_t | Conv3D计算中卷积核原始kernel D维度大小。 |
| kernelH | uint32\_t | Conv3D计算中卷积核原始kernel H维度大小。 |
| kernelW | uint32\_t | Conv3D计算中卷积核原始kernel W维度大小。 |
| strideD | uint32\_t | Conv3D计算中Stride D维度大小。 |
| strideH | uint32\_t | Conv3D计算中Stride H维度大小。 |
| strideW | uint32\_t | Conv3D计算中Stride W维度大小。 |
| dilationD | uint32\_t | Conv3D计算中Dilation D维度大小。 |
| dilationH | uint32\_t | Conv3D计算中Dilation H维度大小。 |
| dilationW | uint32\_t | Conv3D计算中Dilation W维度大小。 |
| padHead | uint32\_t | Conv3D计算中Padding D维度Head方向大小。 |
| padTail | uint32\_t | Conv3D计算中Padding D维度Tail方向大小。 |
| padUp | uint32\_t | Conv3D计算中Padding H维度Up方向大小。 |
| padDown | uint32\_t | Conv3D计算中Padding H维度Down方向大小。 |
| padLeft | uint32\_t | Conv3D计算中Padding W维度Left方向大小。 |
| padRight | uint32\_t | Conv3D计算中Padding W维度Right方向大小。 |
| mL0 | uint32\_t | L0上单次处理的M大小。 |
| kL0 | uint32\_t | L0上单次处理的K大小。 |
| nL0 | uint32\_t | L0上单次处理的N大小。 |
| kAL1 | uint32\_t | L1上Input K的实际大小，等于Cin1InL1 \* KH \* KW \* C0，Cin1InL1是KD \* Cin1合轴之后Tiling切分的大小。 |
| kBL1 | uint32\_t | L1上Weight K的实际大小，等于Cin1InL1 \* KH \* KW \* C0，Cin1InL1是KD \* Cin1合轴之后Tiling切分的大小。 |
| nBL1 | uint32\_t | L1上Weight载入Cout维度的实际数据大小。 |
| mAL1 | uint32\_t | L1上Input载入M的实际数据大小。 |
| al1FullLoad | uint8\_t | Input数据在L1 Buffer是否全载。 0：Input数据在L1 Buffer上不全载。 1：Input数据在L1 Buffer上全载。 |
| bl1FullLoad | uint8\_t | Weight数据在L1 Buffer是否全载。 0：Weight数据在L1 Buffer上不全载。 1：Weight数据在L1 Buffer上全载。 |
| iterateMNOrder | uint8\_t | 输出结果矩阵Output时，M轴和N轴的输出顺序。 0：优先输出M方向。先输出M方向，再输出N方向，图2。 1：优先输出N方向。先输出N方向，再输出M方向，图3。 M由Hout和Wout组成，M方向的输出顺序为，先输出Wout方向，再输出Hout方向。 |
| biasFullLoadFlag | uint8\_t | Bias是否全载进L1 Buffer。 0：否，单核内单次载入Bias大小等于单次矩阵乘N方向的大小nL0。 1：是，单核内的Bias一次全载。 |
| 注：上述的M轴为卷积正向操作过程中的输入Input在img2col展开后的纵轴，数值上等于Hout \* Wout；K为输入Input在img2col展开后的横轴，数值上等于KD\*C1\*KH\*KW\*C0；KD/KH/KW为Weight的Depth、Height、Width，即kernelD/kernelH/kernelW的简写；N为Weight的Cout，具体请见图1。 | 注：上述的M轴为卷积正向操作过程中的输入Input在img2col展开后的纵轴，数值上等于Hout \* Wout；K为输入Input在img2col展开后的横轴，数值上等于KD\*C1\*KH\*KW\*C0；KD/KH/KW为Weight的Depth、Height、Width，即kernelD/kernelH/kernelW的简写；N为Weight的Cout，具体请见图1。 | 注：上述的M轴为卷积正向操作过程中的输入Input在img2col展开后的纵轴，数值上等于Hout \* Wout；K为输入Input在img2col展开后的横轴，数值上等于KD\*C1\*KH\*KW\*C0；KD/KH/KW为Weight的Depth、Height、Width，即kernelD/kernelH/kernelW的简写；N为Weight的Cout，具体请见图1。 |


图1 卷积3D正向MKN示意图

图2 卷积3D正向MFirst示意图

图3 卷积3D正向NFirst示意图
