Intel® FPGA SDK for OpenCL™ Pro Edition: 最佳实践实践指南

ID 683521
日期 9/26/2022
Public
文档目录

4.7. 避免指针别名

尽可能在指针自变量中插入restrict关键字。 在指针自变量中包含restrict关键字可防止 Intel® FPGA SDK for OpenCL™ Offline Compiler创建非冲突加载和存储操作之间的非必要存储器依赖关系。

restrict关键字通知离线编译器指针不要给其它指针设置别名。例如,如果您的内核有两个指向全局存储器的指针,AB, 它们从不相互重叠,请按以下方式声明内核:

__kernel void myKernel (__global int * restrict A,
                        __global int * restrict B)
警告: 在给其它指针设置别名的指针上插入restrict关键字,给其它指针设置别名可能会导致不正确的结果。