SetLoadDataBoundary

Supported Products

Product

Supported (√/x)

Atlas A3 training products/Atlas A3 inference products

Atlas A2 training products/Atlas A2 inference products

Atlas 200I/500 A2 inference products

x

Atlas inference product's AI Core

Atlas inference product's Vector Core

x

Atlas training products

x

Function Usage

Sets A1/B1 boundary value when Load3D is called.

If the address of the source operand on A1/B1 exceeds the configured boundary when Load3D is processing the source operand, data is read from the start address of A1/B1.

Prototype

1
__aicore__ inline void SetLoadDataBoundary(uint32_t boundaryValue)

Parameters

Table 1 Parameters

Parameter

Input/Output

Meaning

boundaryValue

Input

Boundary value.

Load3Dv1: The unit is 32 bytes.

Load3Dv2: The unit is byte.

Constraints

  • 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.

Example

See Example.