由于面向 OpenCL™ 软件技术的FPGA SDK 存在问题,您可能会在长时间编译后看到此错误。这是由于 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 未来版本中将修复该问题