当前位置: 首页 > news >正文

CANN/GE:CopyKvCache KV缓存拷贝函数

# CopyKvCache

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

产品支持情况

  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 推理系列产品:支持
  • Atlas A2 训练系列产品:不支持

函数功能

拷贝KV Cache。支持D2D,D2H的拷贝。

当期望PullKvCache和其他使用Cache的操作流水时,可以额外申请一块中转Cache。当其他流程在使用Cache时,可以先将下一次的Cache pull到中转Cache,待其他流程使用完Cache后,拷贝到指定的位置,从而通过pipeline流水将PullKvCache的耗时隐藏,减少总耗时。

公共前缀场景在新请求推理前,可以将公共前缀拷贝到新的内存中与当前请求的KV合并推理。

函数原型

Status CopyKvCache(const Cache &src_cache, const Cache &dst_cache, uint32_t src_batch_index = 0U, uint32_t dst_batch_index = 0U, uint64_t offset = 0U, int64_t size = -1)

参数说明

参数名称输入/输出取值说明
src_cache输入源Cache。
dst_cache输入目的Cache。
src_batch_index输入源Cache的batch的下标。
dst_batch_index输入目的Cache的batch的下标。
offset输入拷贝偏移,单位为byte。
size输入设置为>0的整数,表示要拷贝的大小。
或设置为-1,表示完整拷贝。
默认为-1。

调用示例

Status ret = llm_datadist.CopyKvCache(src_cache, dst_cache, 0, 0)

返回值

  • LLM_SUCCESS:成功
  • LLM_PARAM_INVALID:参数错误
  • 其他:失败

约束说明

该接口调用之前,需要先调用Initialize接口完成初始化。只支持Device->Device与Device->Host的拷贝。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1120045/

相关文章:

  • autopprof配置详解:Duration、Rate等参数优化技巧
  • SQL数据定义语言(DDL)详解:SQL Ultimate Course核心技能
  • Laravel Vonage Notification Channel扩展开发:构建自定义短信功能的完整指南
  • Xournal++ 终极指南:如何用免费开源软件实现完美手写笔记与PDF批注体验
  • ReScript genType 社区生态:插件、工具与扩展资源汇总
  • 无需配置!gh-markdown-preview让本地Markdown预览变得如此简单
  • 丘脑中央核(CM)是意识生成的核心锚点!
  • CANN/ge LLM-DataDist错误码
  • Instatic安全扫描工具:漏洞检测与修复建议
  • GPT-4o与GPT-4模型版本辨析及合规调用指南
  • 视频画质终极提升指南:用Video2X免费实现4K超分辨率
  • 如何扩展eldarion-ajax:创建自定义处理器和事件监听器
  • 解决Laravel Vonage Notification Channel常见问题:调试与错误处理指南
  • 如何免费获取BTTV安卓版:安全下载与安装完整教程
  • Python三维数学建模
  • CANN/asc-devkit SetGradOutput卷积反向梯度设置
  • Frozen扩展开发指南:如何为Frozen添加自定义数据格式支持
  • 如何快速入门httpcache:5分钟实现Go HTTP客户端缓存
  • ZFS-inplace-rebalancing代码实现原理深度解析
  • 给你的桌面注入灵魂:用DyberPet打造会呼吸的数字伙伴
  • Python依赖注入终极指南:python-inject常见问题解答从入门到精通
  • Heya配置完全指南:从基础设置到高级优化的10个技巧
  • ngxtension 数组与对象工具:简化 Angular 数据处理的核心函数
  • BlueHound与Neo4j深度集成:如何利用图数据库技术可视化攻击路径
  • Autopilot-Notes:高精地图与SLAM技术的融合应用深度解析
  • ReScript genType 在 CI/CD 中的集成:自动化类型生成与验证流程
  • 从零到一:使用MeshApiExamples创建自定义程序化网格编辑器
  • 终极指南:如何用Video2X将模糊视频智能修复到4K高清画质
  • Xous代码贡献指南:从代码审查到发布流程的完整手册
  • httpcache缓存策略详解:Fresh、Stale和Transparent状态管理