由于英特尔® FPGA SDK for OpenCL™ software technology出现问题,编译时间较长之后您可能会看到此错误。这是由大量存储操作引起的,以取消定义由 h_updating_graph_mask_buf_0 和 h_graph_visited_buf_0 阵列函数执行的元素。
要修复此问题,请在 kernel_top.cl 文件中添加以下行:
***************
*** 22,30 ****
#pragma ACCEL interface
variable=k depth=1
bool stop;
do {
- bool h_updating_graph_mask_buf_0[1000000];
- bool h_graph_visited_buf_0[1000000];
//if no thread
changes this value then the loop stops
stop =
false;
//omp_set_num_threads(num_omp_threads);
--- 22,30 ----
#pragma ACCEL interface
variable=k depth=1
bool stop;
bool
h_updating_graph_mask_buf_0[1000000];
bool
h_graph_visited_buf_0[1000000];
do {
//if no thread
changes this value then the loop stops
stop =
false;
//omp_set_num_threads(num_omp_threads);
此问题将在面向 OpenCL 的英特尔 FPGA SDK 的未来发行版中解决