У меня есть #pragma omp parallel for
цикл внутри метода класса. Каждый поток только для чтения имеет доступ к нескольким локальным переменным метода, немногим частным данным и параметрам метода. Все они объявлены в предложении shared
.
Мои вопросы:
- С точки зрения производительности не должно иметь никакого значения, объявите эти
переменные
shared
или firstprivate
. Верно?
- Верно ли то же самое, если я не буду осторожен с тем, чтобы переменная не использовала одну и ту же строку кэша?
- Если одна из общих переменных является указателем и внутри потока я считываю через нее значение, есть ли проблема с псевдонимом, как в обычных циклах?
Завтра я попытаюсь профилировать свой код. А пока спасибо за совет!
задан mvalle 23 October 2011 в 10:20
поделиться