Совместное использование OpenMP по сравнению с firstprivate с точки зрения производительности

У меня есть #pragma omp parallel for цикл внутри метода класса. Каждый поток только для чтения имеет доступ к нескольким локальным переменным метода, немногим частным данным и параметрам метода. Все они объявлены в предложении shared . Мои вопросы:

  • С точки зрения производительности не должно иметь никакого значения, объявите эти переменные shared или firstprivate . Верно?
  • Верно ли то же самое, если я не буду осторожен с тем, чтобы переменная не использовала одну и ту же строку кэша?
  • Если одна из общих переменных является указателем и внутри потока я считываю через нее значение, есть ли проблема с псевдонимом, как в обычных циклах?

Завтра я попытаюсь профилировать свой код. А пока спасибо за совет!

6
задан mvalle 23 October 2011 в 10:20
поделиться