Каков рекомендуемый стиль отступа для предложений OpenMP? - PullRequest
0 голосов
/ 04 марта 2019

Предложения и скобки OpenMP могут существовать в коде одновременно.Существует ли какое-либо регулирование стиля кодирования для вложенных предложений OpenMp?

, например:

#pragma omp parallel
for (int i = 0; i < N; i++) {
  code1();
# pragma omp for // Should this line be intended?
  for (int j = 0; j < M; j++) {
  code2();
#   pragma omp critical { 
    code3(); // Should this block and brackets be intended?
    }
  }
  code4();
}

1 Ответ

0 голосов
/ 04 марта 2019

С точки зрения OpenMP нет никаких реальных указаний о том, как сделать отступ для кода.

То, как я пишу код, выглядело бы так:

#pragma omp parallel
for (int i = 0; i < N; i++) {
  code1();
#pragma omp for // Should this line be intended?
  for (int j = 0; j < M; j++) {
    code2();
#pragma omp critical 
    { // this curly brace needs to go on its own  line
      code3(); // Should this block and brackets be intended?
    }
  }
  code4();
}

Итак, прагмы начинаются спервый столбец и код основного языка соответствуют стилю, который вы используете.Рациональным является то, что, если вы удалили все прагмы OpenMP, вы все равно получите «красивый» код базового языка.

Мне кажется, я также напоминаю, что у прагм компилятора должен быть символ «#» в первом столбце.Я оставлю это другим, чтобы исправить мою память об этом, так как я не уверен, действительно ли ISO C / C ++ этого требует.В последнее время я не видел ни одного компилятора, который бы его применял.

...