用于创建一个Conv3DBackpropFilter 单核Tiling对象。
1 | explicit Conv3dBpFilterTiling(const platform_ascendc::PlatformAscendC& ascendcPlatform) |
1 | Conv3dBpFilterTiling() |
Conv3dBpFilterTiling继承自基类Conv3dBpFilterTilingBase,其构造函数如下:
1 | Conv3dBpFilterTilingBase() |
1 | explicit Conv3dBpFilterTilingBase(const platform_ascendc::PlatformAscendC& ascendcPlatform) |
1 | explicit Conv3dBpFilterTilingBase(const PlatformInfo& platform) |
参数名 |
输入/输出 |
描述 |
||
|---|---|---|---|---|
ascendcPlatform |
输入 |
传入硬件平台的信息,PlatformAscendC定义请参见构造及析构函数。 |
||
platform |
输入 |
传入硬件版本以及AI Core中各个硬件单元提供的内存大小。PlatformInfo构造时通过构造及析构函数获取。 PlatformInfo结构定义如下,socVersion通过GetSocVersion获取并透传,各类硬件存储空间大小通过GetCoreMemSize获取并透传。
不推荐通过直接填值构造PlatformInfo的方式调用构造函数,例如PlatformInfo(, 1024, 1024, ..); |
在实现Host侧的Tiling函数时,platform_ascendc::PlatformAscendC用于获取一些硬件平台的信息,来支撑Tiling的计算,比如获取硬件平台的核数等信息。PlatformAscendC类提供获取这些平台信息的功能。
和platform_ascendc::PlatformAscendC不同的是,PlatformInfo则用于获取芯片版本以及AI Core中各个硬件单元提供的内存大小等只针对单个AI Core的信息。
无
1 2 3 4 5 6 | Convolution3DBackprop::Conv3dBpFilterTiling tiling; tiling.SetWeightType(ConvCommonApi::TPosition::GM,ConvCommonApi::ConvFormat::FRACTAL_Z_3D,ConvCommonApi::ConvDtype::FLOAT32); ... optiling::Conv3DBackpropFilterTilingData tilingData; int ret = tiling.GetTiling(tilingData); // if ret = -1, gen tiling failed ... |
1 2 3 4 5 6 | auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); ConvBackpropApi::Conv3dBpFilterTiling tiling(ascendcPlatform); tiling.SetWeightType(ConvCommonApi::TPosition::GM,Convolution3DBackprop::ConvFormat::FRACTAL_Z_3D,ConvCommonApi::ConvDtype::FLOAT32); ... optiling::Conv3DBackpropFilterTilingData tilingData; int ret = tiling.GetTiling(tilingData); // if ret = -1, gen tiling failed |