我正在尝试通过在单元格(行x列)中循环访问包含像素数据的大PPM文件。我想通过使用omp_set_nested
函数优化这两个FOR循环,但是出现以下错误:
termination test in OpenMP 'for' statement has improper form
为简单起见,我取消了与检索数据本身有关的功能,仅添加了FOR
循环。
摘要:如何将i < OUTER_LOOPS && i < OUTER_LOOPS
和j < INNER_LOOPS && j < INNER_LOOPS
保持在FOR
循环条件之内而不会出错?
更新:我现在意识到,i < OUTER_LOOPS && i < OUTER_LOOPS
比简单的i < OUTER_LOOPS
等效率低得多,我犯了一个荒谬的错误。
我要实现的目标:
omp_set_nested(1);
int i, j;
#define OUTER_LOOPS width
#define INNER_LOOPS height
#pragma omp parallel for
for (i = 0; i < OUTER_LOOPS && i < OUTER_LOOPS; i += 4) { //Issue probably here
#pragma omp parallel for
for (j = 0; j < INNER_LOOPS && j < INNER_LOOPS; j += 4) { //Issue probably here
printf("Hello world\n");
}
}