2012-04-07 23 views
11

Kodumu OpenMPI olan bir sunucuda derledim, ancak hangi sürümü açık olduğumu bilmem gerekiyor, böylece uygun belgeleri okuyabiliyorum. Mevcut sürümümü görüntülemek için yazdırabileceğim <mpi.h> numaralı bir sabit var mı?OpenMPI sürümünü nasıl kontrol edersiniz?

cevap

11

OpenMPI ile yapılacak en kolay şey ompi_info; İlk birkaç satır size istediğiniz bilgiyi verecektir. Kendi kodunuzda, OpenMPI'ye özgü bir şey aldırmazsanız, mp.h'de OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION ve OMPI_RELEASE_VERSION kullanımlarına bakabilirsiniz. Bu açıkça MPICH2 veya diğer MPI uygulamaları ile çalışmayacak.

Daha standart olarak, MPI-3'ün bir parçası olarak, çalışma zamanında size ayrıntılı kütüphane bilgileri veren MPI_Get_library_version adında standart bir MPI rutini olacaktır. Bu, MPI uygulamalarının daha yeni sürümlerinin çok hızlı bir şekilde sahip olacağı kadar küçük ve kullanışlı olacaktır - örneğin OpenMPI77 geliştirme altyapısındadır - ancak bugün size gerçekten yardımcı olmuyor.

+0

Tam olarak aradığım şey bu. MPI_Get_version (* int, * int) OpenMPI'nin hangi sürümünün OpenMPI'nin gerçek sürümüne değil, hangi sürümüne uyduğunu bilmenizi sağlar. – Zak

3

OpenMPI ile familier değilim ama MPI MPI_Get_Version işlevine sahip, benzer işlevler için lütfen mpi.h'nizi kontrol edin. this tutorial açıklandığı

+0

Bu bir başlangıçtır, ancak yalnızca MPI kütüphanesinin uygun olduğu standardın sürümünü verir; Örneğin, çoğu MPI uygulaması büyük/küçük sürümler için 2 ve 1 (veya 0) döndürecektir, ancak OpenMPI 1.4.4 ve OpenMPI 1.5.3 arasında ayrım yapmanıza izin vermez. Kod yazarken eskiden kesinlikle önemlidir, ancak bir uygulama veya yapılandırma sorununu çözmeye çalışıyorsanız, ikinci tür bilgiler oldukça önemli olabilir. –

+0

Bu yorum için teşekkür ederiz, MPI_Get_version (* int, * int) tarafından MPI web sitesi http://www.mpi-forum.org/docs/ ile birlikte gelen bilgiler, bilgi tonunun anahtarıdır! – Zak

1

olarak ayrıca komutu çalıştırarak MPI sürümünü kontrol edebilir:

mpiexec --version 

veya

mpirun --version 

sizin terminalde.

İlgili konular