news 2026/7/5 19:41:41

CANN/docs头文件库文件说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/docs头文件库文件说明

头文件和库文件说明

【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docs

CANN应用开发场景涉及Runtime、图引擎(Graph Engine,简称GE)和DVPP(Digital Vision Pre-Processing)等组件提供的接口。各组件提供的接口及其详细说明,请参见各组件的API参考。本节仅介绍接口分类以及调用接口时依赖的头文件和库文件。

接口分类

接口名以acl作为前缀,命名风格为:acl+接口类别缩写+*,其中,*通常表示操作动词和对象,均采用首字母大写。下文为了描述方便,将本文中的接口统称为acl接口。

在acl接口中,参数顺序通常遵循输入参数在前、输出参数在后的原则。且需注意,不要因为某些参数是新增的,就将其随意添加到接口的末尾;相反,应将新的仅作为输入的参数放在输出参数之前。对于同时作为输入和输出的参数,情况会相对复杂,可能还需考虑与其他接口的一致性,需灵活处理。

表 1接口类别列表

接口名前缀描述组件
acl系统配置类接口Runtime
aclrt运行时管理类的接口Runtime
aclop单算子模型执行类的接口Runtime
aclblasblas类接口Graph Engine
aclmdl模型推理类的接口Graph Engine
acldvpp或aclvdec或aclvenc媒体数据处理的接口
其中,媒体数据处理V2版本下的接口命名例外,这一类接口命名以“hi_mpi”开头。
DVPP(Digital Vision Pre-Processing)
aclprofProfiling配置类接口Runtime
acltdt数据传输接口Runtime
aclfv特征向量检索接口Feature Vector

由于软硬件差异,各产品型号支持的接口类别不同,具体以各接口说明为准。

调用接口依赖的头文件和库文件说明

安装固件、驱动及CANN软件包后,编译、运行应用程序时才能引用到acl接口的头文件、库文件。

acl接口的头文件在“${INSTALL_DIR}/include/”目录下,库文件在“${INSTALL_DIR}/lib64/”目录下。${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。以root用户安装为例,安装后文件默认存储路径为:/usr/local/Ascend/cann。

您需要根据实际使用的acl接口来include依赖的文件,各头文件的用途如下表所示。

须知:编译acl接口程序时,请按照include的头文件依赖对应的库文件,如果引用多余的库文件(例如libascendcl.a),可能导致版本功能异常或后续版本升级时存在兼容性问题。

表 2Runtime头文件和库文件列表

定义接口的头文件用途对应的库文件
acl/acl_rt.h用于定义初始化/去初始化、Device管理、Context管理、Stream管理、同步等待、内存管理等接口。libacl_rt.so
说明:为了兼容旧版本,旧版本中支持使用libascendcl.so,但后续版本这种方式会废弃,建议使用libacl_rt.so,防止后续版本出现兼容性问题。
acl/acl_dump.h用于定义模型和算子Dump接口。libascend_dump.so
acl/acl_prof.h用于定义Profiling数据采集接口。libmsprofiler.so
说明:为了兼容旧版本,旧版本中支持使用libascendcl.so,但后续版本这种方式会废弃,建议使用libmsprofiler.so,防止后续版本出现兼容性问题。
acl/acl_tdt.h用于定义Tensor数据传输接口。libacl_tdt_channel.so
acl/acl_tdt_queue.h用于定义共享队列管理、共享Buffer管理接口。libacl_tdt_queue.so
acl/acl_rt_api.h用于定义C++扩展接口,提供函数重载和模板封装(仅适用于C++ 程序)。
依赖acl_rt.h。
libacl_rt.so

表 3Graph Engine组件头文件和库文件列表

定义接口的头文件用途对应的库文件
acl/acl_mdl.h用于定义模型管理接口。libacl_mdl.so
说明:为了兼容旧版本,旧版本中支持使用libascendcl.so,但后续版本这种方式会废弃,建议使用libacl_mdl.so,防止后续版本出现兼容性问题。
acl/acl_op.h
acl/acl_op_compiler.h
用于定义单算子调用接口(仅包含单算模型执行接口)。libacl_op_executor.so
libacl_op_compiler.so
说明:为了兼容旧版本,旧版本中支持使用libascendcl.so,但后续版本这种方式会废弃,建议使用libacl_op_executor.so和libacl_op_compiler.so,防止后续版本出现兼容性问题。
acl/ops/acl_cblas.h用于定义CBLAS接口。libacl_cblas.so

表 4DVPP组件头文件和库文件列表

分类定义接口的头文件用途对应的库文件
媒体数据处理算子acldvppop目录下:
acldvpp_base.h
acldvpp_op_api.h
用于定义DVPP媒体数据处理类算子的功能接口。libacl_dvpp_op.so
媒体数据处理算子aclnn目录下:
acl_meta.h
aclnn_base.h
调用算子接口时依赖的公共Meta接口,如创建aclTensor、aclScalar、aclIntArray等。libnnopbase.so
媒体数据处理V2acl/dvpp/hi_dvpp.h用于定义媒体数据处理V2版本中的DVPP接口。libacl_dvpp_mpi.so
媒体数据处理V2acl/media目录下:
hi_mpi_vi.h
hi_common_vi.h
hi_common_dis.h
hi_common_gdc.h
hi_media_common.h
hi_media_type.h
hi_mpi_sys.h
用于定义VI(Video Input)视频数据获取功能的接口。libacl_vi_mpi.so
libacl_dvpp_mpi.so
媒体数据处理V2acl/media目录下:
hi_mpi_isp.h
hi_common_isp.h
hi_common_3a.h
hi_mpi_ae.h
hi_common_ae.h
hi_mpi_awb.h
hi_common_awb.h
hi_common_sns.h
hi_media_common.h
hi_media_type.h
hi_mpi_sys.h
用于定义ISP(Image Signal Processing)系统控制功能的接口。libacl_isp_ae_mpi.so
libacl_isp_awb_mpi.so
libacl_isp_mpi.so
libacl_dvpp_mpi.so
媒体数据处理V2acl/media目录下:
hi_mpi_vpss.h
hi_media_common.h
hi_media_type.h
hi_mpi_sys.h
用于定义VPSS(Video Process Sub-System)图像处理功能的接口。libacl_vpss_mpi.so
libacl_dvpp_mpi.so
媒体数据处理V2acl/media/hi_mipi_rx.h用于定义MIPI Rx ioctl命令字。-
媒体数据处理V2acl/media目录下:
hi_mpi_audio.h
hi_common_aio.h
用于定义音频输入、音频输出功能的接口。libacl_audio_mpi.so
媒体数据处理V2acl/media/hi_acodec.h用于定义音量调整的命令字。-
媒体数据处理V2acl/media目录下:
hi_common_vo.h
hi_mpi_vo.h
用于定义视频输出接口。libacl_vo_mpi.so
媒体数据处理V2acl/media/hi_mpi_hdmi.h用于定义对接外设的HDMI接口。libacl_hdmi_mpi.so
媒体数据处理V2acl/media/hi_mpi_tde.h用于定义TDE图形绘制接口。libacl_tde_mpi.so
媒体数据处理V2acl/media/hifb.h用于定义叠加图形层管理接口。-
媒体数据处理V1acl/ops/acl_dvpp.h用于定义媒体数据处理V1版本的接口。libacl_dvpp.so

表 5特征向量检索头文件和库文件

定义接口的头文件用途对应的库文件
acl/ops/acl_fv.h用于定义特征向量检索的接口。libacl_retr.so

【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docs

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

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

轻松获取智慧教育平台电子课本:3步完成PDF下载的终极指南

轻松获取智慧教育平台电子课本:3步完成PDF下载的终极指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目地…

作者头像 李华
网站建设 2026/7/5 19:41:26

洛雪音乐音源完全指南:三步获取全网免费高品质音乐

洛雪音乐音源完全指南:三步获取全网免费高品质音乐 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 在数字音乐时代,你是否还在为寻找免费高品质音乐而烦恼?洛雪…

作者头像 李华
网站建设 2026/7/5 19:40:56

Runno终极指南:在浏览器中安全运行代码的完整解决方案

Runno终极指南:在浏览器中安全运行代码的完整解决方案 【免费下载链接】runno Sandboxed runtime for programming languages and WASI binaries. Works in the browser, on your server, or via MCP. 项目地址: https://gitcode.com/gh_mirrors/ru/runno 想…

作者头像 李华
网站建设 2026/7/5 19:37:20

如何快速掌握Python通达信数据读取:量化分析新手的完整指南

如何快速掌握Python通达信数据读取:量化分析新手的完整指南 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 你是否曾为获取高质量股票数据而烦恼?是否在复杂的通达信数据格…

作者头像 李华
网站建设 2026/7/5 19:36:37

indoc vs 原生字符串:为什么Rust开发者更爱用这个缩进宏?

indoc vs 原生字符串:为什么Rust开发者更爱用这个缩进宏? 【免费下载链接】indoc Indented document literals for Rust 项目地址: https://gitcode.com/gh_mirrors/in/indoc 在Rust编程中,处理多行字符串字面量时,你是否经…

作者头像 李华
网站建设 2026/7/5 19:36:08

从代码工程到Agent工程:非确定性AI时代的软件范式变革

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 你有没有过这样的体验:花了整整一周,把一个复杂的业务逻辑用代码写得清清楚楚,单元测试全部通过&a…

作者头像 李华