下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

GetBasicConfig

功能说明

用于配置BasicBlock模板的参数,获取自定义BasicBlock模板。

函数原型

1
__aicore__ constexpr MatmulConfig GetBasicConfig(const uint32_t basicM, const uint32_t basicN, const uint32_t basicK, const bool intrinsicsLimit = false, const bool batchLoop = false, const BatchMode bmmMode = BatchMode::BATCH_LESS_THAN_L1)

参数说明

本接口的所有参数用于设置MatmulConfig结构体中的参数,其中互相对应的参数的功能作用相同。

表1 接口参数说明

参数名

输入/输出

描述

basicM

输入

用于设置参数basicM。

相当于baseM,Matmul计算时base块M轴长度,以元素为单位

basicN

输入

用于设置参数basicN。

相当于baseN,Matmul计算时base块N轴长度,以元素为单位

basicK

输入

用于设置参数basicK。

相当于baseK,Matmul计算时base块K轴长度,以元素为单位

intrinsicsLimit

输入

用于设置参数intrinsicsCheck。

当左矩阵或右矩阵在单核上内轴(即尾轴)大于等于65535时,是否使能循环执行数据的搬入。例如,左矩阵A[M, K],单核上的内轴数据singleCoreK大于65535,配置该参数为true后,API内部通过循环执行数据的搬入。参数取值如下:

  • false:当左矩阵或右矩阵在单核上内轴大于等于65535时,不使能循环执行数据的搬入(默认值)
  • true:当左矩阵或右矩阵在单核上内轴大于等于65535时,使能数循环执行数据的搬入

batchLoop

输入

用于设置参数isNBatch。

是否多Batch输入多Batch输出。仅对BatchMatmul有效。参数取值如下:

  • false:不使能多Batch(默认值)
  • true:使能多Batch

bmmMode

输入

用于设置参数batchMode。

Layout类型为NORMAL时,设置BatchMatmul输入A/B矩阵的多batch数据总和与L1 Buffer的大小关系。参数取值如下:

  • BatchMode::BATCH_LESS_THAN_L1:多batch数据总和<L1 Buffer Size;
  • BatchMode::BATCH_LARGE_THAN_L1:多batch数据总和>L1 Buffer Size;
  • BatchMode::SINGLE_LARGE_THAN_L1:单batch数据总和>L1 Buffer Size。

支持的型号

Atlas A2训练系列产品/Atlas 800I A2推理产品

注意事项

调用示例

BasicBlock模板的完整使用样例请参考basic_block_matmul

1
2
3
4
5
6
7
constexpr MatmulConfig MM_CFG = GetBasicConfig(128, 256, 64); // baseM, baseN, baseK
Matmul<A_TYPE, B_TYPE, C_TYPE, BIAS_TYPE, MM_CFG> mm;
REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm, &tiling);
mm.SetTensorA(gm_a);
mm.SetTensorB(gm_b);
mm.SetBias(gm_bias);
mm.IterateAll(gm_c);
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词