SoftmaxFlashV2 Tiling接口
功能说明
用于获取SoftmaxFlashV2接口所需的Tiling参数。
函数原型
1 | uint32_t GetSoftMaxFlashV2MinTmpSize(const ge::Shape& srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, const bool isUpdate, const bool isBasicBlock = false) |
1 | uint32_t GetSoftMaxFlashV2MaxTmpSize(const ge::Shape& srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, const bool isUpdate, const bool isBasicBlock = false) |
1 | void SoftMaxFlashV2TilingFunc(const ge::Shape& srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, const uint32_t localWorkSpaceSize, optiling::SoftMaxTiling& softmaxFlashTiling, const bool isUpdate, const bool isBasicBlock = false) |
参数说明
接口 |
输入/输出 |
功能 |
---|---|---|
srcShape |
输入 |
输入srcTensor的shape信息。 |
dataTypeSize1 |
输入 |
计算的源数据的数据类型大小,比如half=2。 |
dataTypeSize2 |
输入 |
参与计算的maxTensor和sumTensor的数据类型大小,比如half=2。 |
isUpdate |
输入 |
是否使能刷新功能,和kernel侧SoftmaxFlashV2接口一致。 |
isBasicBlock |
输入 |
是否要使能基本块计算。isBasicBlock参数可以通过isBasicBlockInSoftmax接口获取,与kernel侧接口的模板参数保持一致,默认false。注意,若kernel侧API使能模板参数SoftmaxConfig,即shape常量化场景,isBasicBlock参数必须通过接口isBasicBlockInSoftmax获取。 |
接口 |
输入/输出 |
功能 |
---|---|---|
srcShape |
输入 |
输入srcTensor的shape信息。 |
localWorkSpaceSize |
输入 |
剩余的可供SoftmaxFlashV2接口计算的空间大小。 |
dataTypeSize1 |
输入 |
计算的源数据的数据类型,比如half=2。 |
dataTypeSize2 |
输入 |
参与计算的maxTensor和sumTensor的数据类型,比如half=2。 |
isUpdate |
输入 |
是否使能刷新功能,和kernel侧SoftmaxFlashV2接口一致。 |
isBasicBlock |
输入 |
是否要使能基本块计算。isBasicBlock参数可以通过isBasicBlockInSoftmax接口获取,与kernel侧接口的模板参数保持一致,默认false。注意,若kernel侧API使能模板参数SoftmaxConfig,即shape常量化场景,isBasicBlock参数必须通过接口isBasicBlockInSoftmax获取。 |
softmaxFlashTiling |
输出 |
输出SoftmaxFlashV2接口所需的tiling信息。 |
返回值
GetSoftMaxFlashV2MinTmpSize返回SoftmaxFlashV2接口能完成计算所需最小临时空间大小,单位为Byte。
GetSoftMaxFlashV2MaxTmpSize返回SoftmaxFlashV2接口能完成计算所需最大临时空间大小,单位为Byte。