公司动态
CANN/asc-devkit SoftmaxFlashV3 Tiling接口
SoftmaxFlashV3 Tiling接口【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明用于获取SoftmaxFlashV3接口所需的Tiling参数。函数原型获取Kernel接口计算所需最小/最大临时空间的接口void GetSoftMaxFlashV3MaxMinTmpSize(const ge::Shape srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2, uint32_t maxValue, uint32_t minValue, const bool isUpdate, const bool isBasicBlock false)Tiling计算接口AscendC::optiling命名空间下的计算接口void SoftMaxFlashV3TilingFunc(const ge::Shape srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2,const uint32_t localWorkSpaceSize, optiling::SoftMaxTiling softmaxFlashV3Tiling, const bool isUpdate,const bool isBasicBlock false)AscendC命名空间下的计算接口void SoftMaxFlashV3TilingFunc(const ge::Shape srcShape, const uint32_t dataTypeSize1, const uint32_t dataTypeSize2,const uint32_t localWorkSpaceSize, AscendC::tiling::SoftMaxTiling softmaxFlashV3Tiling, const bool isUpdate,const bool isBasicBlock false)参数说明表1GetSoftMaxFlashV3MaxMinTmpSize接口参数列表参数名输入/输出功能srcShape输入输入srcTensor的shape信息。dataTypeSize1输入输入srcTensor的数据类型大小即对应SoftMaxFlashV3 Kernel函数中模板参数T的数据类型大小。当前模板参数T仅支持half类型故此参数只支持取值为2。dataTypeSize2输入输入inMeanTensor、inExpSumTensor、inMaxTensor的数据类型大小即对应SoftMaxFlashV3 Kernel函数中模板参数U的数据类型大小。当前模板参数U仅支持float类型故此参数只支持取值为4。maxValue输出SoftMaxFlashV3接口能完成计算所需的最大临时空间大小超出该值的空间不会被该接口使用。在最小临时空间-最大临时空间范围内随着临时空间增大kernel侧接口计算性能会有一定程度的优化提升。为了达到更好的性能开发者可以根据实际的内存使用情况进行空间预留/申请。最大空间大小为0表示计算不需要临时空间。maxValue仅作为参考值有可能大于Unified Buffer剩余空间的大小该场景下开发者需要根据Unified Buffer剩余空间的大小来选取合适的临时空间大小。minValue输出SoftMaxFlashV3接口能完成计算所需最小临时空间大小。为保证功能正确接口计算时预留/申请的临时空间不能小于该数值。最小空间大小为0表示计算不需要临时空间。isUpdate输入是否开启SoftMaxFlashV3 update为true的公式计算。该参数取值与SoftmaxFlashV3 Kernel接口的模板参数isUpdate保持一致。isBasicBlock输入预留参数暂未启用必须使用默认值false。表2SoftMaxFlashV3TilingFunc接口参数列表参数名输入/输出功能srcShape输入输入srcTensor的shape信息。dataTypeSize1输入输入srcTensor的数据类型大小即对应SoftMaxFlashV3 Kernel函数中模板参数T的数据类型大小。当前模板参数T仅支持half类型故此参数只支持取值为2。dataTypeSize2输入输入inMeanTensor、inExpSumTensor、inMaxTensor的数据类型大小即对应SoftMaxFlashV3 Kernel函数中模板参数U的数据类型大小。当前模板参数U仅支持float类型故此参数只支持取值为4。localWorkSpaceSize输入剩余的可供SoftmaxFlashV3接口计算的空间大小。localWorkSpaceSize的取值必须大于GetSoftMaxFlashV3MaxMinTmpSize接口返回的计算所需的最小临时空间大小。isUpdate输入是否开启SoftMaxFlashV3 update为true的公式计算。与SoftmaxFlashV3 Kernel接口的模板参数isUpdate保持一致。isBasicBlock输入预留参数暂未启用必须使用默认值false。softmaxFlashV3Tiling输出输出SoftMaxFlashV3接口所需的Tiling信息支持optiling::SoftMaxTiling形式入参和AscendC::tiling::SoftMaxTiling形式入参。返回值说明无约束说明无【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考