news 2026/5/9 16:41:23

CANN/runtime IPC内存共享示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/runtime IPC内存共享示例

10_ipc_memory_withpid

【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime

描述

本样例展示了同一个Device、两个进程间的内存共享,在共享内存时启用进程白名单校验。

产品支持情况

本样例支持以下产品:

产品是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

编译运行

环境安装详情以及运行详情请见example目录下的README。

运行步骤如下:

# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 source ${install_root}/cann/set_env.sh export ASCEND_INSTALL_PATH=${install_root}/cann # ${ascend_name} 替换为昇腾AI处理器的型号,可通过 npu-smi info 查看 Name 字段并去掉空格获得,例如 ascend910b3 export SOC_VERSION=${ascend_name} # 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake # 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径 export ASCENDC_CMAKE_DIR=${cmake_path} # 编译运行 bash run.sh

CANN RUNTIME API

在该Sample中,涉及的关键功能点及其关键接口,如下所示:

  • 初始化
    • 调用aclInit接口初始化AscendCL配置。
    • 调用aclFinalize接口实现AscendCL去初始化。
  • Device管理
    • 调用aclrtSetDevice接口指定用于运算的Device。
    • 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源。
  • Stream管理
    • 调用aclrtCreateStream接口创建Stream。
    • 调用aclrtDestroyStreamForce接口强制销毁Stream,丢弃所有任务。
  • 内存管理
    • 调用aclrtMalloc接口申请Device上的内存。
    • 调用aclrtFree接口释放Device上的内存。
    • 调用aclrtDeviceGetBareTgid接口获取当前进程的进程ID。
    • 调用aclrtIpcMemGetExportKey接口将指定Device内存设置为IPC共享内存,并返回共享内存key。
    • 调用aclrtIpcMemSetImportPid接口设置IPC共享内存的进程白名单。
    • 调用aclrtIpcMemImportByKey接口获取key的信息,并返回本进程可以使用的Device内存地址指针。
    • 调用aclrtIpcMemClose接口关闭IPC共享内存。

已知issue

暂无

【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 16:38:31

CANN/ops-rand AI Core算子开发指南

AI Core算子开发指南 【免费下载链接】ops-rand ops-rand是CANN (Compute Architecture for Neural Networks)算子库中提供的随机数生成库。 项目地址: https://gitcode.com/cann/ops-rand 说明: 算子开发过程中涉及的基本概念如Tiling…

作者头像 李华
网站建设 2026/5/9 16:33:54

CANN驱动AI Core查询API

dcmi_get_device_aicore_info 【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。 项目地址: https://gitcode.com/cann/driver 函数原型 int dcmi_get_device_aicore_info(int card_id, in…

作者头像 李华
网站建设 2026/5/9 16:31:53

CHB-MIT数据集在Kaggle竞赛与学术研究中的价值:给AI+医疗新手的入门指南

CHB-MIT数据集在Kaggle竞赛与学术研究中的价值:给AI医疗新手的入门指南 在医疗AI领域,数据是推动研究进展的核心燃料。对于刚踏入这个交叉领域的研究者而言,如何选择一个既具备学术价值又适合技术实践的公开数据集,往往成为项目启…

作者头像 李华
网站建设 2026/5/9 16:31:03

CANN/hccl HCCL集合通信算法简介

算法简介 【免费下载链接】hccl 集合通信库(Huawei Collective Communication Library,简称HCCL)是基于昇腾AI处理器的高性能集合通信库,为计算集群提供高性能、高可靠的通信方案 项目地址: https://gitcode.com/cann/hccl …

作者头像 李华
网站建设 2026/5/9 16:30:48

五分钟接入OpenAI兼容API为网站添加智能对话

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 五分钟接入OpenAI兼容API为网站添加智能对话 基础教程类,面向需要为网站集成AI功能的开发者,介绍如何通过c…

作者头像 李华