ML with OpenMPI
Lisandro Dalcin
dalcinl at gmail.com
Tue Mar 25 08:21:52 CDT 2008
However, I still do not understand why I never had this problem. Jed,
you built ML yourself, or were you letting PETSc to automatically
download and build it? Or perhaps I did not noticed the problem
because of MPICH2?
On 3/25/08, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> I have pushed this fix to petsc-dev
>
> Thank you for figuring this out,
>
>
> Barry
>
>
> On Mar 25, 2008, at 2:38 AM, Jed Brown wrote:
> > On Sat 2008-03-22 10:19, Lisandro Dalcin wrote:
> >> Give a try. When using MPICH2, PETSc just passes
> >> "--with-mpi=PATH_TO_MPI" and ML get it right. Perhaps ML have some
> >> trouble with OpenMPI, I've never tried. If you built OpenMPI yourself
> >> and with shared libs, do not forget to define LD_LIBRARY_PATH to
> >> point
> >> to the dir with the OpenMPI libs. If not, some configure test of ML
> >> could fail, and then MPI is assumed to be absent.
> >
> > It turns out I was chasing this in entirely the wrong direction. ML
> > was
> > configured just fine and was correctly using MPI, but we had not
> > defined
> > HAVE_CONFIG_H so ml_common.h was not setting all the variables that
> > depend on
> > ml_config.h. In particular, ml_config.h sets HAVE_MPI correctly,
> > but the
> > following is in ml_config.h:
> >
> > #ifdef HAVE_CONFIG_H
> > ...
> > #ifdef HAVE_MPI
> > #ifndef ML_MPI
> > #define ML_MPI
> > #endif
> > #endif
> > ...
> > #endif /*ifdef HAVE_CONFIG_H*/
> >
> > Indeed, adding -DHAVE_CONFIG_H to CFLAGS in src/ksp/pc/impls/ml/
> > makefile fixes
> > the problem (and the manual include of ml_config.h in ml.c becomes
> > unnecessary).
> > That is, the patch below makes everything work correctly.
> >
> > Jed
> >
> >
> > diff -r 2ae11e456aa7 src/ksp/pc/impls/ml/makefile
> > --- a/src/ksp/pc/impls/ml/makefile Fri Mar 21 17:33:24 2008 -0500
> > +++ b/src/ksp/pc/impls/ml/makefile Tue Mar 25 08:35:12 2008 +0100
> > @@ -5,7 +5,7 @@
> >
> > ALL: lib
> >
> > -CFLAGS = ${ML_INCLUDE}
> > +CFLAGS = ${ML_INCLUDE} -DHAVE_CONFIG_H
> > FFLAGS =
> > SOURCEC = ml.c
> > SOURCEF =
> > diff -r 2ae11e456aa7 src/ksp/pc/impls/ml/ml.c
> > --- a/src/ksp/pc/impls/ml/ml.c Fri Mar 21 17:33:24 2008 -0500
> > +++ b/src/ksp/pc/impls/ml/ml.c Tue Mar 25 08:35:12 2008 +0100
> > @@ -10,7 +10,6 @@
> >
> > #include <math.h>
> > EXTERN_C_BEGIN
> > -#include "ml_config.h"
> > #include "ml_include.h"
> > EXTERN_C_END
>
>
--
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
More information about the petsc-dev
mailing list