运行时参数规范 - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 简体中文

迄今为止显示的数据流 graph 都是完全按静态方式定义的。但实际上您可能需要基于某些动态条件或事件来修改 graph 的行为。所需修改可能发生在当前处理的数据中,例如,修改运算模式或者新增系数表,或者可能发生在 graph 的控制流程中,例如,有条件执行或基于某个 graph 对另一个 graph 进行动态重配置。运行时参数 (RTP) 在此类情况下非常有用。内核或 graph 可定义为通过参数来执行。另外还提供了其它 graph API 用于在 graph 运行期间更新或读取这些参数值。

受支持的运行时参数分两种类型。第一种类型是异步参数或粘性参数,可通过控制处理器(如,处理器系统 (PS))或者由另一个 AI 引擎内核来随时进行更改。每次调用不含任何特定同步的内核时,都会读取这些参数。例如,这些类型的参数可用作为不会频繁更改的筛选系数。

第二种受支持的运行时参数类型是同步参数或触发参数。仅当控制处理器已写入触发参数后,需要触发参数的内核才能执行。写入时,内核执行一次,以读取更新后的新值。完成后,将阻塞内核执行,直至再次更新此参数为止。这样即可允许从普通串流模型生成另一种不同类型的执行模型,这对于某些阻塞同步至关重要的更新运算很有用。

运行时参数可包含标量值或阵列值。如果由控制处理器(例如,PS)负责更新,那么应使用graph.update() API。