CANN/ge LLM-DataDist C++专题
2026/9/10 3:46:05 网站建设 项目流程

专题

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

角色切换

使用场景

主要用于在PD集群节点数量固定的场景下,由于业务的变化,期望PD集群节点间可以相互切换,充分利用资源。

涉及的接口

调用SetRole接口对LLM-DataDist的角色进行切换。

功能示例

示例由角色Decoder切换为Prompt。切换角色后,根据业务功能调用LLM-DataDist其他接口。

  1. LLM-DataDist初始化时,需要设置OPTION_ENABLE_SET_ROLE为"1"。

    LlmDataDist llm_data_dist(DECODER_CLUSTER_ID, LlmRole::kDecoder); std::map<AscendString, AscendString> options; options[OPTION_DEVICE_ID] = "0"; options[OPTION_BUF_POOL_CFG] = R"({ "buf_pool_size": 2147483648 })"; options[OPTION_ENABLE_SET_ROLE] = "1"; auto ret = llm_data_dist.Initialize(options); if (ret != LLM_SUCCESS) { printf("[ERROR] Initialize failed, ret = %u\n", ret); return -1; }
  2. 调用SetRole进行角色切换。

    std::map<AscendString, AscendString> options; //替换为真实IP端口 options[OPTION_LISTEN_IP_INFO] = "ip:port"; llmDataDist.SetRole(LlmRole::kPrompt, options);

异常处理

异常处理请参考错误码。

公共前缀

使用场景

公共前缀指的是模型推理的多个输入包含相同的起始部分。

该功能可用于将公共前缀产生的KV Cache内存拷贝到新的用户请求的KV Cache上进行推理。

涉及接口

|接口名称|功能| |--|--| |CopyKvCache|拷贝KV Cache。|

功能示例

ret = llmDataDist.CopyKvCache(src_cache, dst_cache, 0, 0); if (ret != LLM_SUCCESS) { printf("[ERROR] CopyKvCache failed, ret = %u\n", ret); return -1; }

异常处理

异常处理请参考错误码。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询