2012-04-13 8 views
1

Mit Microsoft HPC Pack 2008 R2 installiert und mit Visual Studio 2010 Professional kann ich MPI-Programme mit dem C-Stil, aber nicht dem C++ - Stil ausführen. Zum Beispiel:Ist der MPI-C++ - Namespace nicht in Microsoft HPC Pack 2008 R2 enthalten?

#include <mpi.h> 

int main() 
{ 
    MPI_Init(NULL,NULL); 
    . 
    . 
    . 
    MPI_Finalize(); 
    return 0; 
} 

funktioniert, aber

#include <mpi.h> 

int main() 
{ 
    MPI::Init(NULL,NULL); 
    . 
    . 
    . 
    MPI::Finalize(); 
    return 0; 
} 

nicht. Die Fehlermeldung besagt, dass der Namespace MPI nicht gefunden wurde. Mache ich etwas Dummes? Es ist durchaus möglich. Jede Hilfe wird geschätzt.

Danke,

-nuun

Antwort

2

http://mpi-forum.org/docs/mpi-2.2/mpi22-report/node328.htm

Ab MPI 2.2:

Der gesamte Satz von C++ Sprachbindungen sind veraltet.

Begründung.

Die C++ - Bindungen fügen minimale Funktionalität über die C-Bindungen hinzu, während eine erhebliche Menge an Wartung zu der MPI -Spezifikation führt. Da die C++ - Bindungen effektiv eine Eins-zu-eins-Zuordnung der C-Bindungen sind, sollte es relativ einfach sein, existierende C++ - MPI-Anwendungen zu konvertieren, um die MPI-C-Bindungen zu verwenden. Darüber hinaus sind Third-Party-Pakete verfügbar, die C++ - Klasse Bibliotheksfunktionalität (dh C++ - spezifische Funktionalität oben auf der MPI C-Bindungen) zur Verfügung stellen, die C++ - Programmierer wahrscheinlich aussagekräftiger und/oder natürlich sind und nicht geeignet sind zur Standardisierung in dieser Spezifikation. (Ende der Begründung.)