Hi Daniel,

 Thanks for your reply.
I found out that I have openmpi installed instead of mpi, by using "Trilinos_ENABLE_OpenMP:BOOL=ON" I managed to install Trilinos without any error messages. But I think there is something else wrong with the openmpi installation or something else, because when I run "examples/parallel.py" (that comes with FiPy) I get:

>openmpirun -n 4 python parallel.py

mpi4py: processor 3 of 4 :: PyTrilinos: processor 0 of 1 :: FiPy: 10 cells on processor 0 of 1 mpi4py: processor 1 of 4 :: PyTrilinos: processor 0 of 1 :: FiPy: 10 cells on processor 0 of 1 mpi4py: processor 0 of 4 :: PyTrilinos: processor 0 of 1 :: FiPy: 10 cells on processor 0 of 1 mpi4py: processor 2 of 4 :: PyTrilinos: processor 0 of 1 :: FiPy: 10 cells on processor 0 of 1

Which, according to the FiPy web page means that there is a problem with Trilinos communicating with MPI (or openmpi in this case) On a related comment, I'm able to compile your example code using the openmp wrapper for gcc:

openmpicc trivialmpi.c -o trivialmpi

and it runs just fine using openmpirun.

The problem seems to be making cmake to compile Trilinos using the openmpi compiler (I've defined MPI_C_COMPILER and MPI_CXX_COMPILER options when calling cmake, but it tells me is not using those values)

Adrian.


On Tue, Mar 5, 2013 at 6:38 PM, Adrian Jacobo <[email protected] <mailto:[email protected]>> wrote:

    Hi everyone,

      I know this might not be the right place to ask, but may be someone
    can give me a hint.


Hi Adrian,

You may have to ask on the Trilinos mailing list, but we can do some diagnostics to try and help.


      I'm trying to install Trilinos in OSX Mountain Lion, to use it with
    fipy. I tried following the instructions in fipy's manual, but the
    trilinos installation gives an error, saying that it does not find the
    "mpi.h" file.


I assume this is during the config stage. Try and replicate what it is doing, which is compiling a really simple MPI program. Something like this

   #include <stdio.h>
   #include <mpi.h>

   int main(int argc, char *argv[])
   {
     int npes, myrank;

     MPI_Init(&argc, &argv);
     MPI_Comm_size(MPI_COMM_WORLD, &npes);
     MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
     printf("From process %d out of %d, Hello World!\n", myrank, npes);
     MPI_Finalize();
     return 0;
   }

with

$ gcc trivialmpi.c -o trivialmpi -lmpi -I/path/to/mpi/include -L/path/to/mpi/lib

and run it with

   $ mpirun -np 3 ./trivialmpi
   From process 0 out of 3, Hello World!
   From process 2 out of 3, Hello World!
   From process 1 out of 3, Hello World!

to check your MPI installation independently from Trilinos. Try and get the above working by setting the "-I" and "-L" flags if necessary.

We can then figure out how to pass those paths to Trilinos.

Cheers.

--
Daniel Wheeler


_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
   [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to