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

AI Engine Kernel and Graph Programming Guide (UG1079)

Document ID
Release Date
2022.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