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

AI 引擎内核与计算图编程指南 (UG1079)

Document ID
UG1079
Release Date
2023-12-04
Version
2023.2 简体中文

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

受支持的运行时参数分两种类型。第一种类型是异步参数或粘性参数,可通过控制处理器(如,处理器系统 (PS))来随时进行更改。完整更新后,每次调用内核时,都会读取这些参数。这些类型的参数可用作为不会频繁更改的筛选系数。

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

运行时参数可包含标量值或阵列值。graph.update() API 用于 RTP 更新。