Benefits of Using the Restrict Keyword for Read/Modify/Write Loops - 2023.2 English

AI Engine Kernel and Graph Programming Guide (UG1079)

Document ID
UG1079
Release Date
2023-12-04
Version
2023.2 English

The following example works without the restrict keyword, but has poor performance.

Figure 1. Example Without Restrict Keyword

Adding the restrict keyword allows every iteration to access a different location where there is no aliasing between iterations (__restrict) and aliasing within iterations preserved by data dependency. The increased parallelization results in improved performance.

Figure 2. Add Restrict Keyword