预留存储器约束 - 2023.2 简体中文

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

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

此约束用于将内核的系统存储器(栈和堆)位置约束到特定拼块上的特定地址。地址可使用以下两个不同方式中的任一方式来指定:

  • Column(列)、row(行)、bankId 和 offset(偏移),其中,拼块按 column 和 row 来指定。此 bankId 是相对于该 tile(拼块)的 ID,可设置为 0、1、2 或 3。偏移地址相对于 bankId,可设置为 0 到 8192 之间的任意值,该值对应于 bank 内最大字节数。
  • Column、row 和 bankId,其中 bankId 与拼块相关,可设置为 0、1、2 或 3。
    注释: 每个 AI 引擎存储器的硬件视图均由 8 个 bank 组成,每个 bank 都包含位宽为 128 位的数据。每个 AI 引擎存储器的 aiecompiler 视图均由 4 个 bank 组成,每个 bank 都包含位宽为 256 位的数据。

语法

"reserved_memory": <bank_address>
<bank_address> ::= {
  "column": integer,
  "row": integer,
  "bankId": integer,
  "offset": integer
}
<bank_address> ::= {
  "column": integer,
  "row": integer,
  "bankId": integer
}

示例

{
  "NodeConstraints": {
    "mygraph.k1": {
      "reserved_memory": {
        "column": 2,
        "row": 1,
        "bankId": 3, 
        "offset": 4128
      }
    },
    "mygraph.k2": {
      "reserved_memory": {
        "column": 1,
        "row": 1,
        "bankId": 3
      }
    }
  }
}