SetLoadDataBoundary
Applicability
Product |
Supported |
|---|---|
Atlas 350 Accelerator Card |
x |
√ |
|
√ |
|
x |
|
√ |
|
x |
|
x |
Function Usage
Sets A1/B1 boundary value when Load3D is called.
If the address of the source operand on A1 or B1 exceeds the configured boundary when Load3D is processing the source operand, data is read from the start address of A1 or B1.
Prototype
1 | __aicore__ inline void SetLoadDataBoundary(uint32_t boundaryValue) |
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
boundaryValue |
Input |
Boundary value. Load3Dv1: The unit is 32 bytes. Load3Dv2: The unit is byte. |
Restrictions
- When Load3Dv1 is used, the minimum value of boundaryValue is 16 (unit: 32 bytes). When Load3Dv2 is used, the minimum value of boundaryValue is 1024 (unit: byte).
- If the boundary value is set by using SetLoadDataBoundary and Load3D is used together, the A1/B1 initial address of Load3D must be within the configured boundary.
- If boundaryValue is set to 0, there is no boundary and the entire A1/B1 can be used.
- For details about the operand address alignment requirements, see General Address Alignment Restrictions.
Examples
See Examples.
Parent topic: Data Movement