This constrains the location of system memory (stack and heap) for a kernel to a specific address on a specific tile. You can specify the address in one of two ways:
- Column, row, bankId, and offset
- The tile is specified by column, row. The bankId is relative to the tile and can be set to either 0, 1, 2, or 3. The offset address is relative to the bankId, and can be set to any value from 0 to 8192 which corresponds to the maximum number of bytes in a bank.
- Column, row, and bankId
- the bankId is relative to the tile and can be set to either 0, 1, 2, or
3.Note: The hardware treats each AI Engine-ML memory as eight banks of 128-bit width data. The AI Engine compiler treats of each AI Engine memory as four banks of 256-bit width data.
Syntax
"reserved_memory": <bank_address>
<bank_address> ::= {
"column": integer,
"row": integer,
"bankId": integer,
"offset": integer
}
<bank_address> ::= {
"column": integer,
"row": integer,
"bankId": integer
}
Example
{
"NodeConstraints": {
"mygraph.k1": {
"reserved_memory": {
"column": 2,
"row": 1,
"bankId": 3,
"offset": 4128
}
},
"mygraph.k2": {
"reserved_memory": {
"column": 1,
"row": 1,
"bankId": 3
}
}
}
}