Я пытаюсь перебрать большой файл PPM, содержащий данные о пикселях, перебирая файл в ячейках (строки х столбцы). Я хочу оптимизировать эти два цикла FOR с помощью функции omp_set_nested
, но получаю следующую ошибку:
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");
}
}