MPI: external libs info reflects MPI usage

pull/1/head
Thorsten Liebig 2011-03-08 14:43:48 +01:00
parent 3cbadd5c82
commit f630abf813
3 changed files with 31 additions and 3 deletions

View File

@ -87,6 +87,26 @@ openEMS_FDTD_MPI::~openEMS_FDTD_MPI()
m_Output=NULL; m_Output=NULL;
} }
string openEMS_FDTD_MPI::GetExtLibsInfo()
{
stringstream str;
str << openEMS::GetExtLibsInfo();
// MPI
str << "\t\t" << "MPI version: " << MPI_VERSION << "." << MPI_SUBVERSION << " -- compiled against: ";
#ifdef MPICH2_VERSION
str << "MPICH2 " MPICH2_VERSION << endl;
#endif
#ifdef OMPI_MAJOR_VERSION
str << "openMPI: " OMPI_MAJOR_VERSION << "." << OMPI_MINOR_VERSION << "." << OMPI_RELEASE_VERSION << endl;
#endif
return str.str();
}
bool openEMS_FDTD_MPI::parseCommandLineArgument( const char *argv ) bool openEMS_FDTD_MPI::parseCommandLineArgument( const char *argv )
{ {
if (!argv) if (!argv)

View File

@ -34,6 +34,8 @@ public:
virtual bool parseCommandLineArgument( const char *argv ); virtual bool parseCommandLineArgument( const char *argv );
static string GetExtLibsInfo();
protected: protected:
Operator_MPI* m_MPI_Op; Operator_MPI* m_MPI_Op;
CSRectGrid* m_Original_Grid; CSRectGrid* m_Original_Grid;

View File

@ -63,7 +63,11 @@ int main(int argc, char *argv[])
cout << " | openEMS " << bits << " -- version " GIT_VERSION << endl; cout << " | openEMS " << bits << " -- version " GIT_VERSION << endl;
cout << " | (C) 2010 Thorsten Liebig <thorsten.liebig@gmx.de> GPL license" << endl; cout << " | (C) 2010 Thorsten Liebig <thorsten.liebig@gmx.de> GPL license" << endl;
cout << " -------------------------------------------------------------------- " << endl; cout << " -------------------------------------------------------------------- " << endl;
#ifdef MPI_SUPPORT
cout << openEMS_FDTD_MPI::GetExtLibsInfo() << endl;
#else
cout << openEMS::GetExtLibsInfo() << endl; cout << openEMS::GetExtLibsInfo() << endl;
#endif
if (argc<=1) if (argc<=1)
{ {
@ -75,12 +79,14 @@ int main(int argc, char *argv[])
cout << "\t--debug-boxes\t\tDump e.g. probe boxes to vtk file for debugging" << endl; cout << "\t--debug-boxes\t\tDump e.g. probe boxes to vtk file for debugging" << endl;
cout << "\t--debug-CSX\t\tWrite CSX geometry file to debugCSX.xml" << endl; cout << "\t--debug-CSX\t\tWrite CSX geometry file to debugCSX.xml" << endl;
cout << "\t--engine=<type>\t\tChoose engine type" << endl; cout << "\t--engine=<type>\t\tChoose engine type" << endl;
cout << "\t\t--engine=fastest\t\tfastest available engine" << endl; cout << "\t\t--engine=fastest\t\tfastest available engine (default)" << endl;
cout << "\t\t--engine=sse\t\t\tengine using sse vector extensions" << endl; cout << "\t\t--engine=sse\t\t\tengine using sse vector extensions" << endl;
cout << "\t\t--engine=sse_compressed\t\tengine using compressed operator + sse vector extensions" << endl; cout << "\t\t--engine=sse_compressed\t\tengine using compressed operator + sse vector extensions" << endl;
cout << "\t\t--engine=multithreaded\t\tengine using compressed operator + sse vector extensions + multithreading" << endl;
#ifdef MPI_SUPPORT #ifdef MPI_SUPPORT
cout << "\t\t--engine=MPI\t\tengine using compressed operator + sse vector extensions + MPI parallel processing" << endl; cout << "\t\t--engine=MPI\t\t\tengine using compressed operator + sse vector extensions + MPI parallel processing" << endl;
cout << "\t\t--engine=multithreaded\t\tengine using compressed operator + sse vector extensions + MPI + multithreading" << endl;
#else
cout << "\t\t--engine=multithreaded\t\tengine using compressed operator + sse vector extensions + multithreading" << endl;
#endif #endif
cout << "\t--numThreads=<n>\tForce use n threads for multithreaded engine (needs: --engine=multithreaded)" << endl; cout << "\t--numThreads=<n>\tForce use n threads for multithreaded engine (needs: --engine=multithreaded)" << endl;
cout << "\t--no-simulation\tonly run preprocessing; do not simulate" << endl; cout << "\t--no-simulation\tonly run preprocessing; do not simulate" << endl;