Могу ли я проверить, какая версия OpenMP у меня установлена?

Я пытаюсь узнать, какая версия OpenMP установлена ​​на моей машине. Это ящик Linux, к которому я подключен с помощью ssh.

Я использую gcc для компиляции с использованием -fopenmp.


person lms    schedule 17.05.2011    source источник
comment
Вам нужна версия спецификации OpenMP или версия libgomp?   -  person CharlesB    schedule 18.05.2011


Ответы (2)


С gcc, я полагаю, вам следует искать версию компилятора

gcc -v

Возможно в сочетании с версией libgomp

ls -ltr /usr/lib/libgomp.so.1*

e.g.

-rw-r--r-- 1 root root 46652 27 сентября 2010 г. 23:00 /usr/lib/libgomp.so.1.0.0

В зависимости от вашего дистрибутива это может дать дополнительную информацию:

dpkg --status libgomp

E.g:

Package: libgomp1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 84
Maintainer: Ubuntu Core developers <[email protected]>
Architecture: i386
Source: gcc-4.5
Version: 4.5.1-7ubuntu2
Depends: gcc-4.5-base (= 4.5.1-7ubuntu2), libc6 (>= 2.6)
Description: GCC OpenMP (GOMP) support library
 GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers
 in the GNU Compiler Collection.
Homepage: http://gcc.gnu.org/
Original-Maintainer: Debian GCC Maintainers <[email protected]>

В моем случае это подтверждает, что версия соответствует gcc

person sehe    schedule 17.05.2011
comment
libgomp.so не находится на этом пути для меня, есть идеи, где еще это может быть? - person lms; 18.05.2011
comment
Добавьте -### к вызову gcc - например, gcc -### a.c - и посмотрите, где он берет crtbegin.o и/или каталог, указанный с помощью -L. Это должно дать вам путь к библиотекам. Как только вы узнаете версию gcc, вы можете либо проверить документацию по gcc, чтобы узнать, какая версия OpenMP поддерживается, либо написать небольшую программу, распечатывающую значение _OPENMP. Значение соответствует дате поддерживаемой спецификации OpenMP. - person ejd; 18.05.2011
comment
@codenoob: ldconfig -p | grep gomp или установите его другим способом (например, apt-get install libgomp1) - person sehe; 18.05.2011

Цитата из вики-страницы GCC, содержащей информацию о спецификации OpenMP:

Начиная с GCC 4.2, компилятор реализует версию 2.5 спецификации OpenMP, начиная с версии 4.4 — версии 3.0, а начиная с версии GCC 4.7 — поддерживает спецификацию OpenMP 3.1. GCC 4.9 поддерживает OpenMP 4.0 со следующими исключениями (по состоянию на 28 ноября 2013 г.): новые директивы 4.0 еще не поддерживаются в Fortran, и omp target всегда будет выполняться на хосте.

person wgodoy    schedule 02.01.2014
comment
Вы можете посмотреть здесь. В частности, ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши коллеги-пользователи имели некоторое представление о том, что это такое и почему оно там. Всегда цитируйте наиболее релевантную часть важной ссылки на случай, если целевой сайт недоступен или навсегда отключится. - person Massimiliano; 02.01.2014
comment
Это официальный документ gcc, я думаю, что он актуален и отвечает на вопрос. Я предоставил некоторый контекст, я не знаю, что еще добавить, что является актуальным и не излишним. В первом абзаце этой ссылки указана поддержка стандарта OpenMP, которую предоставляет GCC (упоминается в моем комментарии). Я не понимаю вашего отрицательного голосования. Иначе как бы вы разместили ссылку? Очень легко скопировать и вставить то, что вы положили. - person wgodoy; 03.01.2014
comment
Отрицательное голосование было за ответ только по ссылке, что явно не рекомендуется SO. - person Massimiliano; 03.01.2014
comment
Пожалуйста, сравните свой ответ с принятым, который был опубликован выше. @Massimiliano полностью прав с комментариями выше. - person Andrew Barber; 03.01.2014