John
2010-01-26 12:31:00 UTC
I am a newbie to MPI and I am trying to parallelize a code which has
been written in Fortran 90. I am using mpif90 to compile the code. I
invoked MPI_Bcast statements in many do loops as follows:
integer :: my_rank,new,jim,ierr
logical, dimension(bead_max) :: who_are_you
bead_max=400000
do k=1,jim
IF(my_rank.eq.0)THEN
call GETNAME(new);
call MPI_Bcast(new,1,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)
call MPI_Bcast(who_are_you,bead_max,MPI_LOGICAL,
0,MPI_COMM_WORLD,ierr)
ELSE IF(my_rank.gt.0)THEN
call MPI_Bcast(new,1,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)
call MPI_Bcast(who_are_you,bead_max,MPI_LOGICAL,
0,MPI_COMM_WORLD,ierr)
ENDIF;
enddo
When I execute the program using mpirun, I get the following error
messages.
Can anybody please help me? My question would also be whether it is
possible to use MPI_Bcast in do loops as above? Any help is greatly
appreciated. Here are the errors that I get:
libibverbs: Warning: RLIMIT_MEMLOCK is 32768 bytes.
This will severely limit memory registrations.
--------------------------------------------------------------------------
[0,1,0]: OpenIB on host mgt was unable to find any HCAs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
libibverbs: Warning: RLIMIT_MEMLOCK is 32768 bytes.
This will severely limit memory registrations.
--------------------------------------------------------------------------
[0,1,1]: OpenIB on host mgt was unable to find any HCAs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
libibverbs: Warning: RLIMIT_MEMLOCK is 32768 bytes.
This will severely limit memory registrations.
--------------------------------------------------------------------------
[0,1,2]: OpenIB on host mgt was unable to find any HCAs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
libibverbs: Warning: RLIMIT_MEMLOCK is 32768 bytes.
This will severely limit memory registrations.
--------------------------------------------------------------------------
[0,1,3]: OpenIB on host mgt was unable to find any HCAs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
The program runs then a little bit, but then mpirun kills the code
with the
error messages below.
[mgt:14192] *** An error occured in MPI_Bcast
[mgt:14192] *** On communicator MPI_COMM_WORLD
[mgt:14192] *** MPI_ERR_TRUNCATE: message truncated
[mgt:14192] *** MPI_ERRORS_ARE_FATAL (goodbye)
and then
[mgt:14188] [0,0,0] ORTE_ERROR_LOG: Timeout in file base/
pls_base_orted_cmds.c at line 275
[mgt:14188] ORTE_ERROR_LOG: Timeout in file pls_rsh_module.c at line
1166
[mgt:14188] [0,0,0] ORTE_ERROR_LOG: Timeout in file errmgr_hnp.c at
line 90
mpirun was unable to cleanly terminate the daemons for this job.
Returned value Timeout instead of ORTE_SUCCESS.
been written in Fortran 90. I am using mpif90 to compile the code. I
invoked MPI_Bcast statements in many do loops as follows:
integer :: my_rank,new,jim,ierr
logical, dimension(bead_max) :: who_are_you
bead_max=400000
do k=1,jim
IF(my_rank.eq.0)THEN
call GETNAME(new);
call MPI_Bcast(new,1,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)
call MPI_Bcast(who_are_you,bead_max,MPI_LOGICAL,
0,MPI_COMM_WORLD,ierr)
ELSE IF(my_rank.gt.0)THEN
call MPI_Bcast(new,1,MPI_INTEGER,0,MPI_COMM_WORLD,ierr)
call MPI_Bcast(who_are_you,bead_max,MPI_LOGICAL,
0,MPI_COMM_WORLD,ierr)
ENDIF;
enddo
When I execute the program using mpirun, I get the following error
messages.
Can anybody please help me? My question would also be whether it is
possible to use MPI_Bcast in do loops as above? Any help is greatly
appreciated. Here are the errors that I get:
libibverbs: Warning: RLIMIT_MEMLOCK is 32768 bytes.
This will severely limit memory registrations.
--------------------------------------------------------------------------
[0,1,0]: OpenIB on host mgt was unable to find any HCAs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
libibverbs: Warning: RLIMIT_MEMLOCK is 32768 bytes.
This will severely limit memory registrations.
--------------------------------------------------------------------------
[0,1,1]: OpenIB on host mgt was unable to find any HCAs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
libibverbs: Warning: RLIMIT_MEMLOCK is 32768 bytes.
This will severely limit memory registrations.
--------------------------------------------------------------------------
[0,1,2]: OpenIB on host mgt was unable to find any HCAs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
libibverbs: Warning: RLIMIT_MEMLOCK is 32768 bytes.
This will severely limit memory registrations.
--------------------------------------------------------------------------
[0,1,3]: OpenIB on host mgt was unable to find any HCAs.
Another transport will be used instead, although this may result in
lower performance.
--------------------------------------------------------------------------
The program runs then a little bit, but then mpirun kills the code
with the
error messages below.
[mgt:14192] *** An error occured in MPI_Bcast
[mgt:14192] *** On communicator MPI_COMM_WORLD
[mgt:14192] *** MPI_ERR_TRUNCATE: message truncated
[mgt:14192] *** MPI_ERRORS_ARE_FATAL (goodbye)
and then
[mgt:14188] [0,0,0] ORTE_ERROR_LOG: Timeout in file base/
pls_base_orted_cmds.c at line 275
[mgt:14188] ORTE_ERROR_LOG: Timeout in file pls_rsh_module.c at line
1166
[mgt:14188] [0,0,0] ORTE_ERROR_LOG: Timeout in file errmgr_hnp.c at
line 90
mpirun was unable to cleanly terminate the daemons for this job.
Returned value Timeout instead of ORTE_SUCCESS.