CANN/runtime IPC事件同步示例
2_ipcevent_sample【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime描述本样例展示了两个进程之间通过IPC Event进行任务同步。进程A生产者创建IPC事件记录事件并导出句柄然后等待消费者完成。进程B消费者导入IPC事件句柄等待事件完成工作后记录事件通知生产者。该示例使用二进制文件传递事件句柄展示了IPC事件的核心用法创建、导出、导入、等待、记录、查询和销毁。支持的产品型号产品是否支持Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√Atlas A5 训练系列产品/Atlas A5 推理系列产品√编译运行环境安装详情以及运行详情请见example目录下的README。运行前环境变量运行bash run.sh前请先在同一个 shell 中导入以下环境变量# ${install_root} 替换为 CANN 安装根目录默认安装在/usr/local/Ascend目录 source ${install_root}/cann/set_env.sh export ASCEND_INSTALL_PATH${install_root}/cannCANN RUNTIME API在该Sample中涉及的关键功能点及其关键接口如下所示初始化调用aclInit接口初始化AscendCL配置。调用aclFinalize接口实现AscendCL去初始化。Device管理调用aclrtSetDevice接口指定用于运算的Device。调用aclrtResetDevice接口复位Device。Stream管理调用aclrtCreateStream接口创建Stream。调用aclrtDestroyStream接口销毁Stream。调用aclrtSynchronizeStream接口阻塞等待Stream任务完成。Event管理IPC扩展调用aclrtCreateEventExWithFlag接口创建支持IPC的事件flagACL_EVENT_IPC。调用aclrtRecordEvent接口记录事件。调用aclrtSynchronizeEvent接口阻塞等待事件完成。调用aclrtQueryEventStatus接口查询事件状态。调用aclrtIpcGetEventHandle接口获取事件IPC句柄生产者。调用aclrtIpcOpenEventHandle接口打开IPC事件消费者。调用aclrtStreamWaitEvent接口阻塞流等待事件完成。调用aclrtDestroyEvent接口销毁事件。已知issue暂无【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考