2011-05-17 25 views
11

Estoy tratando de averiguar qué versión de OpenMP está instalada en mi máquina. Es una caja Linux a la que estoy conectado usando ssh.¿Puedo verificar qué versión de OpenMP he instalado?

Estoy usando gcc para compilar usando -fopenmp.

+0

¿Quieres que el ¿Versión de especificación de OpenMP, o la versión de libgomp? – CharlesB

+1

Posible duplicado de [Cómo comprobar la versión de OpenMP en Linux] (https://stackoverflow.com/questions/1304363/how-to-check-the-version-of-openmp-on-linux) – nbro

Respuesta

7

con GCC, supongo que se debe buscar la versión del compilador

gcc -v 

tal vez en combinación con la versión de libgomp

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

por ejemplo,

-rw-r - r-- 1 root root 46652 2010-09-27 23:00 /usr/lib/libgomp.so.1.0.0

Dependiendo de su distribución esta podría dar más información:

dpkg --status libgomp 

Ej:

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]> 

En mi caso se confirma que la versión coincide con gcc

+0

libgomp.so no está en ese camino para mí, ¿alguna idea de dónde podría estar? – lms

+0

Agregue - ### a la invocación de gcc - como "gcc - ### a.c" - y busque dónde está recogiendo crtbegin.o y/o el directorio especificado con -L. Eso debería darle el camino hacia donde están las bibliotecas. Una vez que conozca la versión de gcc, puede verificar la documentación de gcc para ver qué versión de OpenMP es compatible o escribir un pequeño programa imprimiendo el valor de _OPENMP. El valor corresponde a la fecha de la especificación OpenMP compatible. – ejd

+0

@codenoob: 'ldconfig -p | grep gomp' o de lo contrario instálelo (por ejemplo, 'apt-get install libgomp1') – sehe

14

Citando del GCC wiki page que contiene información sobre la especificación OpenMP:

Como de GCC 4.2, el compilador implementa la versión 2.5 de la especificación OpenMP , como de 4,4 que implementa la versión 3.0 y desde GCC 4.7 se admite la especificación OpenMP 3.1. GCC 4.9 soporta OpenMP 4.0 con las excepciones de seguimiento (a partir del 28/11/2013): las nuevas directrices 4.0 aún no están soportadas en Fortran y objetivo omp siempre se ejecutarán en el host

+0

Es posible que desee echar un vistazo [aquí] (http://stackoverflow.com/help/how-to-answer). En particular _ "Se fomentan los enlaces a recursos externos, pero agregue contexto alrededor del enlace para que los demás usuarios tengan una idea de qué es y por qué está allí. Siempre cite la parte más relevante de un enlace importante, en caso de que el sitio objetivo es inalcanzable o está permanentemente fuera de línea. "_ – Massimiliano

+0

Este es un documento oficial de gcc, creo que es relevante y responde la pregunta. Proporcioné algo de contexto, no sé qué más agregar que sea relevante y no redundante. El primer párrafo de ese enlace enumera el soporte para el estándar OpenMP que proporciona GCC (mencionado en mi comentario). No entiendo tu voto negativo. De lo contrario, ¿cómo publicaría la referencia al enlace?Es muy fácil copiar y pegar lo que pones. – wgodoy

+0

El voto negativo fue para la respuesta de solo enlace, que SO desaconseja explícitamente. – Massimiliano

Cuestiones relacionadas