1) Once the correct compilers are used, I run "mpiexec -np 2 ./ step-17" and get an error that METIS is not installed. I installed libparmetis-dev and try and try to compile, but get a huge number of compile errors regarding conflicting declarations of many MPI::FUNCTIONs. Before I go any farther with this, it occured to me that should I be using the serial version of METIS, correct?
As far as I know, we do not use parmetis. Metis 4.0 is the one that we support, and, at least on my configurations, this works.
2) Shouldn't the configure script automagically set CC,CXX,and F77 to the MPI wrappers if PETSc is specified (since PETSc requires MPI)?
Not necessarily. You can compile PETSc without mpi...
3) I still do not understand why calling the MPI functions when deal.II is not compiled to support MPI does not result in an error state. As-is, there is zero indication to the user that he/she is just running many individual copies of the program, other than a crash and the subsequent wasted time of trying to debug.
The MPI mechanism allows you to call ANY progran within the MPI framework (I, for example, use mpi to parallelize also my bash scripts and create movies with povray in parallel). In general, when you call mpirun, you are simply making sure that multiple copies of the same program are run, with environmental variables set up in a correct manner (this depends on the mpi library you chose, but they all work the same way). What the program does with the environmental variables, it is the programmer responsability, and tipically it is taken care of by the mpi.h include file. If you compile deal without using mpicxx, mpicc and mpif77, then deal.II will simply ignore those variables (it will not include mpi.h, and will provide reasonable default functions for all those classes which actually need to know about processes and ids...).
There are many implementations of mpi. It would not be feasible for deal.II to check wether we were called from within mpirun or not at run time (besides being more expensive, OpenMPI uses different environment variables than mpich, for example, just to name 2 implementations...). I think it makes more sense to configure things properly at the beginning, and simply trust murphy's law...
:) Luca. _______________________________________________ dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii
