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