Нужно ли включать #include ‹omp.h› в мои исходники C/C++?

Нужно ли включать omp.h в мои исходники C/C++? Почему? Или почему нет? Компилятор gcc включает его по умолчанию при использовании с флагом -fopenmp? Кажется, это не имеет значения.


person nieldw    schedule 01.03.2010    source источник


Ответы (4)


arrow_upward
14
arrow_downward

Он нужен только для вызова OMP API. Если все, что вам нужно, это прагмы, вам не нужно их включать.

person bmargulies    schedule 01.03.2010

arrow_upward
5
arrow_downward

Если вы используете функции OpenMP в данном файле, необходимо, чтобы этот файл включал их. В противном случае это не нужно.

person Chuck    schedule 01.03.2010

arrow_upward
3
arrow_downward

Флаги компилятора (-openmp для Intel, -fopenmp для GCC) не добавят его за вас. Если вам нужно использовать функции или типы, определенные в этом заголовке, вам нужно будет включить его.

person Community    schedule 02.03.2010

arrow_upward
1
arrow_downward

Если вы хотите выполнять открытую многопроцессорную обработку (открытая многопроцессорная обработка — это интерфейс прикладного программирования), это поддерживает многоплатформенную многопроцессорную обработку совместно используемой памяти. Если мы хотим это сделать, то нужно только включить этот заголовочный файл в свой код.

person thillaiselvan    schedule 02.03.2010