开发者
资源

头文件和库文件说明

接口分类

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

表1 关键接口类别

接口名前缀

描述

acl

基础接口,包括初始化&去初始化、日志、数据类型转换等。

aclrt

运行时管理类的接口,包括设备管理、Stream管理、内存管理、Kernel加载与执行等。

aclmdlRI

模型运行实例管理接口。

acltdt

数据传输接口。

aclmdl&aclop

模型和算子数据Dump接口。

aclprof

Profiling数据采集接口。

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

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

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

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

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

表2 头文件列表

定义接口的头文件

用途

对应的库文件

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