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