2. 简介#

2.1. 概述#

AXCL 是用于在 AXERA 芯片平台上开发深度神经网络推理、转码等应用的 C、Python 语言 API 库,提供运行资源管理,内存管理,模型加载和执行,媒体数据处理等 API,其逻辑架构图如下图所示:

2.2. 概念#

AXCL 运行时库有 Device、Context、Stream、Task 等基本概念,其关系如下图所示:

  • Device:提供计算和媒体处理的硬件设备,通过 PCIe 接口和 Host 连接。

    • Device 的生命周期源于首次调用 axclrtSetDevice 接口。

    • Device 使用引用计数管理生命周期,axclrtSetDevice 引用计数加 1,axclrtResetDevice 引用计数减1。

    • 当引用计数减少为零时,本进程中的 Device 资源不可用。

    • 若存在多个 Device,多个 Device 之间的内存资源不能共享

  • Context:执行上下文容器,管理包括 Stream,内存等生命周期,Context 和应用线程绑定。Context 一定隶属于一个唯一的 Device。Context 分为隐式和显示两种:

    • 隐式 Context(即默认 Context):

      • 调用 axclrtSetDevice 接口指定设备时,系统会创建一个隐式 Context,当 axclrtResetDevice 接口引用计数为零时隐式 Context 被自动销毁。

      • 一个 Device 只会有一个隐式 Context,隐式 Context 不能通过 axclrtDestroyContext 接口销毁。

    • 显示Context:

      • 调用 axclrtCreateContext 接口显示创建,调用 axclrtDestroyContext 接口销毁。

      • 进程内的 Context 是共享的,可以通过 axclrtSetCurrentContext 进行切换。推荐应用为每个线程中创建和销毁显示 Context

  • Stream:执行任务流,隶属于 Context,同一个 Stream 的任务执行保序。Stream 分为隐式和显示两种:

    • 隐式 Stream(即默认 Stream):

      • 每个 Context 都会创建一个隐式 Stream,生命周期归属于 Context。

      • native sdk 模块(比如AXCL_VDEC_XXXAXCL_SYS_XXX等)使用隐式 Stream。

    • 显示Stream:

      • axclrtCreateStream 接口创建,由 axclrtDestroyStream 接口销毁。

      • 当显示 Stream 归属的 Context 被销毁或生命周期结束后,即使该 Stream 没有被销毁,亦不可使用。

  • Task:Device 任务执行实体,应用不可见。

2.3. 应用线程和Context#

  • 一个应用线程一定会绑定一个 Context,所有Device的任务都必须基于 Context。

  • 一个线程中当前会有一个唯一的 Context,Context 中绑定了本线程任务执行的 Device。

  • 应用线程中支持通过 axclrCreateContext 创建多个 Context,但一个线程同一时刻只能使用一个 Context。连续创建多个 Context,线程绑定的是最后一个创建的 Context。

  • 进程内支持通过 axclrtSetCurrentContext 绑定当前线程的 Context,连续多次调用 axclrtSetCurrentContext,最终绑定的是最后一次的 Context。

  • 多线程推荐为每个线程显示创建一个Context。

  • 推荐通过 axclrtSetCurrentContext 切换 Device。

小技巧

SDK axcl/sample/runtime 提供了如何在线程中创建和销毁Context的示例代码。

2.4. 参考硬件#

2.4.1. AX-M1#

瑞莎智核 AX-M1 是一款基于爱芯元智公司 AX8850 SoC 推出的高性能 M.2 加速模组,具有高算力、高能效比等特性,专为边缘智能计算与 AI 推理应用打造。 集成多核高性能 CPU 和高算力 NPU,具备卓越的多媒体处理能力,为各类边缘 AI 场景提供高效、灵活的硬件支撑。

产品图片

产品规格

描述

CPU

八核 Cortex-A55,主频高达 1.5GHz

内存

8GB LPDDR4x

NPU

24TOPS@INT8;支持矩阵运算单元和智能视觉引擎

支持 CNN、Transformer 模型部署,支持 LLM、VLM 部署

VPU

支持 H.264/H.265 8K@30fps编解码和 16 路 1080p@30fps 解码

硬件适配

支持 Intel、AMD、Rockchip 等主机平台

系统适配

支持 Ubuntu、Debian、CentOS 等主流 Linux 发行版

外形尺寸

M.2 2280,M Key

工作电压

3.3 V

系统功耗

≤ 8W

2.4.2. LLM-8850#

M5Stack LLM‑8850 Card 是 M5Stack 的一款面向边缘设备的 M.2 M‑Key 2242 AI 加速卡。

产品图片

产品规格

描述

CPU

八核 Cortex-A55,主频高达 1.5GHz

内存

8GB LPDDR4x

NPU

24TOPS@INT8;支持矩阵运算单元和智能视觉引擎

支持 CNN、Transformer 模型部署,支持 LLM、VLM 部署

VPU

支持 H.264/H.265 8K@30fps编解码和 16 路 1080p@30fps 解码

硬件适配

支持 Intel、AMD、Rockchip 等主机平台

系统适配

支持 Ubuntu、Debian、CentOS 等主流 Linux 发行版

外形尺寸

M.2 2242,M Key

工作电压

3.3 V

系统功耗

≤ 8W