Hello!
I have two problems:
1. I recently installed lam 7.0 on a linux machine (kernel 2.4.20) with both
Intel C++ Compiler 7.1 Build 20030307Z and
Intel Fortran Compiler 7.1 Build 20030307Z.
When using
CC=icc
CXX=icpc
FC=ifc
export CC CXX FC
to configure lam, I ran into the following problem:
make terminates with the following error
compilation aborted for registry.c (code 2)
make[2]: *** [registry.lo] Error 1
make[2]: Leaving directory `/home/peters/tmp/lam-7.0/share/etc'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/peters/tmp/lam-7.0/share'
make: *** [all-recursive] Error 1
I figured out that there is an error message already during ./configure:
stropts.h present but cannot be compiled
I don't know if these to are related, but is there a workaround for this
problem?
2. I then configured lam only using
FC=ifc
export FC
and everything worked fine. Even the lamtests seemed to be successful. But if
I now compile the simple 'hello world'-fortran file
PROGRAM hello
INCLUDE 'mpif.h'
INTEGER :: ierror, rank, size
call MPI_INIT(ierror)
call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierror)
if (rank .eq. 0) write(*,*) 'Hello World!!!'
call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierror)
write (*,*) 'I am ', rank, 'out of ', size
call MPI_FINALIZE(ierror)
END PROGRAM
with
mpif77 -o hello hello.f90
and run it with
mpirun -np 2 hello
I get the following error message:
-----------------------------------------------------------------------------
It seems that [at least] one of the processes that was started with
mpirun did not invoke MPI_INIT before quitting (it is possible that
more than one process did not invoke MPI_INIT -- mpirun was only
notified of the first one, which was on node n0).
mpirun can *only* be used with MPI programs (i.e., programs that
invoke MPI_INIT and MPI_FINALIZE). You can use the "lamexec" program
to run non-MPI programs over the lambooted nodes.
-----------------------------------------------------------------------------
I compiled the program on another parallel machine and there it works. So can
anyone tell me what is the problem (or even better: the solution). Sorry if
ask for something obvious, but I'm doing my first steps with lam and mpi
right now.
Thanks in advance
Peter Schütz
|