OpenMP на MacOS Мохаве - PullRequest
       51

OpenMP на MacOS Мохаве

0 голосов
/ 16 апреля 2019

Я установил компилятор gcc через xcode-select --install, но установлена ​​версия 4.2.1, поэтому невозможно использовать флаг OpenMp -fopenmp для компиляции исходного кода.

Я пытался установитькомпилировать через Homebrew и связать это с экспортированным gcc, но это не работает.Я попытался установить gcc для сборки последней версии GNU, но после сборки операционная система спросила меня, буду ли я устанавливать gcc, используя xcode-select --install.

Более того, я следую за ответом на этот вопрос , но у меня есть эта ошибка:

Ошибка: нет доступной формулы с именем "clang-omp"

Есть ли какое-либо решение или предложение, которым я могу следовать, чтобы выполнить код OpenMP на моем Mac и на любом unix-подобном устройстве без необходимости устанавливать конкретные зависимости, потому что в этом ответе естьрешение, но пользователь может установить зависимости?

1 Ответ

1 голос
/ 17 апреля 2019

Код OpenMP можно скомпилировать с помощью AppleClang на mojave.Xcode содержит препроцессор с поддержкой openmp, который должен быть вызван.

  • У вас должен быть установлен omp;libomp является наиболее распространенным.Я также использовал libiomp5.

  • Настройте флаги в cmake, чтобы они указывали на ваше решение openmp .:

cmake .. -DCMAKE_C_COMPILER="clang" -DCMAKE_CXX_COMPILER="clang++" -DOpenMP_C_FLAGS=-fopenmp=lomp -DOpenMP_CXX_FLAGS=-fopenmp=lomp -DOpenMP_C_LIB_NAMES="libomp" -DOpenMP_CXX_LIB_NAMES="libomp" -DOpenMP_libiomp5_LIBRARY="/opt/local/lib/libomp.dylib" -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp /opt/local/lib/libomp.dylib -I/opt/local/include" -DOpenMP_CXX_LIB_NAMES="libomp" -DOpenMP_omp_LIBRARY=/opt/local/lib/libomp.dylib -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp /opt/local/lib/libomp.dylib -I/opt/local/include" 

Подобные флаги для libiomp5: См. эту строку .

...