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 ]