SoftmaxFlashV2 Tiling接口【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明用于获取SoftmaxFlashV2接口所需的Tiling参数。函数原型获取Kernel接口计算所需最小/最大临时空间的接口uint32_t GetSoftMaxFlashV2MinTmpSize(const ge::Shape srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, const bool isUpdate, const bool isBasicBlock false, const bool isFlashOutputBrc false)uint32_t GetSoftMaxFlashV2MaxTmpSize(const ge::Shape srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, const bool isUpdate, const bool isBasicBlock false, const bool isFlashOutputBrc false)Tiling计算接口AscendC::optiling命名空间下的计算接口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, const bool isFlashOutputBrc false)AscendC命名空间下的计算接口void SoftMaxFlashV2TilingFunc(const ge::Shape srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, const uint32_t localWorkSpaceSize, AscendC::tiling::SoftMaxTiling softmaxFlashTiling, const bool isUpdate, const bool isBasicBlock false, const bool isFlashOutputBrc false)参数说明表1GetSoftMaxFlashV2MinTmpSize/GetSoftMaxFlashV2MaxTmpSize接口参数列表参数名输入/输出功能srcShape输入输入srcTensor的shape信息。dataTypeSize1输入计算的源数据的数据类型大小比如half2。dataTypeSize2输入参与计算的expSumTensor和maxTensor的数据类型大小比如half2。isUpdate输入是否开启刷新功能和kernel侧SoftmaxFlashV2接口一致。isBasicBlock输入是否要开启基本块计算。isBasicBlock参数可以通过isBasicBlockInSoftmax接口获取与kernel侧接口的模板参数保持一致默认false。注意若kernel侧API启用模板参数SoftmaxConfig即shape常量化场景isBasicBlock参数必须通过接口isBasicBlockInSoftmax获取。isFlashOutputBrc输入是否开启输出shape的非拓展模式。非拓展模式为不对输出数据做Broadcast输出shape为(m, 1)。参数取值如下false不开启非拓展模式默认值。输出为float数据类型时shape为(m8)输出为half数据类型时shape为(m, 16)。true开启非拓展模式输出的shape均为(m, 1)。该参数取值为true时kernel接口的模板参数SoftmaxConfig中的mode必须配置为SoftmaxMode::SOFTMAX_OUTPUT_WITHOUT_BRC。表2SoftMaxFlashV2TilingFunc接口参数列表参数名输入/输出功能srcShape输入输入srcTensor的shape信息。localWorkSpaceSize输入剩余的可供SoftmaxFlashV2接口计算的空间大小。localWorkSpaceSize的取值必须大于GetSoftMaxFlashV2MinTmpSize接口返回的计算所需的最小临时空间大小。dataTypeSize1输入计算的源数据的数据类型比如half2。dataTypeSize2输入参与计算的maxTensor和sumTensor的数据类型比如half2。isUpdate输入是否开启刷新功能和kernel侧SoftmaxFlashV2接口一致。isBasicBlock输入是否要开启基本块计算。isBasicBlock参数可以通过isBasicBlockInSoftmax接口获取与kernel侧接口的模板参数保持一致默认false。注意若kernel侧API启用模板参数SoftmaxConfig即shape常量化场景isBasicBlock参数必须通过接口isBasicBlockInSoftmax获取。isFlashOutputBrc输入是否开启输出shape的非拓展模式。非拓展模式为不对输出数据做Broadcast输出shape为(m, 1)。参数取值如下false不开启非拓展模式默认值。输出为float数据类型时shape为(m8)输出为half数据类型时shape为(m, 16)。true开启非拓展模式输出的shape均为(m, 1)。该参数取值为true时kernel接口的模板参数SoftmaxConfig中的mode必须配置为SoftmaxMode::SOFTMAX_OUTPUT_WITHOUT_BRC。softmaxFlashTiling输出输出SoftmaxFlashV2接口所需的tiling信息支持optiling::SoftMaxTiling形式入参和AscendC::tiling::SoftMaxTiling形式入参。返回值说明GetSoftMaxFlashV2MinTmpSize返回SoftmaxFlashV2接口能完成计算所需最小临时空间大小单位为Byte。GetSoftMaxFlashV2MaxTmpSize返回SoftmaxFlashV2接口能完成计算所需最大临时空间大小单位为Byte。约束说明无【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
cann/asc-devkit:SoftmaxFlashV2 Tiling接口
SoftmaxFlashV2 Tiling接口【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明用于获取SoftmaxFlashV2接口所需的Tiling参数。函数原型获取Kernel接口计算所需最小/最大临时空间的接口uint32_t GetSoftMaxFlashV2MinTmpSize(const ge::Shape srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, const bool isUpdate, const bool isBasicBlock false, const bool isFlashOutputBrc false)uint32_t GetSoftMaxFlashV2MaxTmpSize(const ge::Shape srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, const bool isUpdate, const bool isBasicBlock false, const bool isFlashOutputBrc false)Tiling计算接口AscendC::optiling命名空间下的计算接口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, const bool isFlashOutputBrc false)AscendC命名空间下的计算接口void SoftMaxFlashV2TilingFunc(const ge::Shape srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, const uint32_t localWorkSpaceSize, AscendC::tiling::SoftMaxTiling softmaxFlashTiling, const bool isUpdate, const bool isBasicBlock false, const bool isFlashOutputBrc false)参数说明表1GetSoftMaxFlashV2MinTmpSize/GetSoftMaxFlashV2MaxTmpSize接口参数列表参数名输入/输出功能srcShape输入输入srcTensor的shape信息。dataTypeSize1输入计算的源数据的数据类型大小比如half2。dataTypeSize2输入参与计算的expSumTensor和maxTensor的数据类型大小比如half2。isUpdate输入是否开启刷新功能和kernel侧SoftmaxFlashV2接口一致。isBasicBlock输入是否要开启基本块计算。isBasicBlock参数可以通过isBasicBlockInSoftmax接口获取与kernel侧接口的模板参数保持一致默认false。注意若kernel侧API启用模板参数SoftmaxConfig即shape常量化场景isBasicBlock参数必须通过接口isBasicBlockInSoftmax获取。isFlashOutputBrc输入是否开启输出shape的非拓展模式。非拓展模式为不对输出数据做Broadcast输出shape为(m, 1)。参数取值如下false不开启非拓展模式默认值。输出为float数据类型时shape为(m8)输出为half数据类型时shape为(m, 16)。true开启非拓展模式输出的shape均为(m, 1)。该参数取值为true时kernel接口的模板参数SoftmaxConfig中的mode必须配置为SoftmaxMode::SOFTMAX_OUTPUT_WITHOUT_BRC。表2SoftMaxFlashV2TilingFunc接口参数列表参数名输入/输出功能srcShape输入输入srcTensor的shape信息。localWorkSpaceSize输入剩余的可供SoftmaxFlashV2接口计算的空间大小。localWorkSpaceSize的取值必须大于GetSoftMaxFlashV2MinTmpSize接口返回的计算所需的最小临时空间大小。dataTypeSize1输入计算的源数据的数据类型比如half2。dataTypeSize2输入参与计算的maxTensor和sumTensor的数据类型比如half2。isUpdate输入是否开启刷新功能和kernel侧SoftmaxFlashV2接口一致。isBasicBlock输入是否要开启基本块计算。isBasicBlock参数可以通过isBasicBlockInSoftmax接口获取与kernel侧接口的模板参数保持一致默认false。注意若kernel侧API启用模板参数SoftmaxConfig即shape常量化场景isBasicBlock参数必须通过接口isBasicBlockInSoftmax获取。isFlashOutputBrc输入是否开启输出shape的非拓展模式。非拓展模式为不对输出数据做Broadcast输出shape为(m, 1)。参数取值如下false不开启非拓展模式默认值。输出为float数据类型时shape为(m8)输出为half数据类型时shape为(m, 16)。true开启非拓展模式输出的shape均为(m, 1)。该参数取值为true时kernel接口的模板参数SoftmaxConfig中的mode必须配置为SoftmaxMode::SOFTMAX_OUTPUT_WITHOUT_BRC。softmaxFlashTiling输出输出SoftmaxFlashV2接口所需的tiling信息支持optiling::SoftMaxTiling形式入参和AscendC::tiling::SoftMaxTiling形式入参。返回值说明GetSoftMaxFlashV2MinTmpSize返回SoftmaxFlashV2接口能完成计算所需最小临时空间大小单位为Byte。GetSoftMaxFlashV2MaxTmpSize返回SoftmaxFlashV2接口能完成计算所需最大临时空间大小单位为Byte。约束说明无【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考