头文件和库文件说明
接口分类
接口名以acl作为前缀,命名风格为:acl+接口类别缩写+*,其中,*表示操作动词和对象,均采用首字母大写。下文为了描述方便,将本文中的接口统称为acl接口。
接口名前缀 |
描述 |
|---|---|
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),可能导致版本功能异常或后续版本升级时存在兼容性问题。
定义接口的头文件 |
用途 |
对应的库文件 |
|---|---|---|
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 |