Ответ 1
Если вы используете clang для компиляции кода OpenMP, вам понадобится libomp
. Я нашел самый простой способ получить это через доморощенный с помощью brew install libomp
.
поэтому я пытаюсь запустить пакет под названием BTYDplus когда я загружаю его, я получил это предупреждение
This data.table install has not detected OpenMP support. It will work but slower in single threaded mode.
Я могу запустить его без OpenMP, но он очень медленный, поэтому я попытался установить openMP, следуя этому руководству
http://thecoatlessprofessor.com/programming/openmp-in-r-on-os-x/
но я приклеился к части Enabling R to Compile Code with OpenMP on OS X
, особенно когда я пытаюсь запустить vim ~/.R/Makevars/
. Это привело к "~/.R/Makevars/" Illegal file name
.
любое предложение о том, как указать R использовать GCC?
Если вы используете clang для компиляции кода OpenMP, вам понадобится libomp
. Я нашел самый простой способ получить это через доморощенный с помощью brew install libomp
.
Хотя можно получить компиляцию openmp, работающую на Mac Sierra, путем обновления clang (не уверен, что новые версии MacOS исправили это, обновив clang), как в разделе "Включить поддержку OpenMP" в Mac OS X (sierra), также возможно заставить Apple clang работать. Просто добавьте следующее в ~/.R/Makevars
SHLIB_OPENMP_CFLAGS=-Xpreprocessor -fopenmp
SHLIB_OPENMP_CXXFLAGS=-Xpreprocessor -fopenmp
Это позволяет использовать специальные пакеты CXX/CFLAGS R, которые следует использовать при компиляции пакетов OpenMP, и что
Apple Clang позволяет обрабатывать прагмы OpenMP с помощью -Xpreprocessor -fopenmp, а затем вы можете вручную ссылаться на библиотеку OpenMP.
Подробнее здесь.