Вопрос по OpenMP для многопоточного кода:
Все ли глобальные переменные совместно используются потоками? Как сделать определенную глобальную переменную частной для главного потока?
Спасибо
PS: это код C.
Вопрос по OpenMP для многопоточного кода:
Все ли глобальные переменные совместно используются потоками? Как сделать определенную глобальную переменную частной для главного потока?
Спасибо
PS: это код C.
если я правильно помню
#pragma omp threadprivate
глобальные переменные немного сложны, если их нужно инициализировать, вы должны использовать директиву copyfirst (я думаю, это правильное имя). также переменные threadprivate могут нести значительные штрафы, в некоторых реализациях доступ к переменной становится вызовом функции.