7,720
社区成员
发帖
与我相关
我的任务
分享高通 QNN 自定义算子开发,在 Hexagon HTP 上实现自定义算子,为什么不能直接使用 malloc/new 做动态内存分配?
Hexagon HTP 内核环境没有完整操作系统支持,不支持堆内存动态分配。自定义算子代码中禁止 malloc、new、std::vector 这类依赖堆内存的接口,所有内存必须使用静态分配。 开发规范:算子内部预先定义固定大小的全局数组,提前评估最大输入输出张量尺寸;张量内存由 QNN 框架统一管理,自定义算子仅做计算逻辑。如果内存大小不确定,需要在算子 prepare 阶段校验张量维度,超出预设上限直接返回错误码。参考文档:https://quic.github.io/cloud-ai-sdk-pages/1.15/Getting-Started/Features/custom_ops/