Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] 4.3.3 on Hitachi-sr11000 - MPI_COMM_WORLD==0

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] 4.3.3 on Hitachi-sr11000 - MPI_COMM_WORLD==0


Chronological Thread 
  • From: Marc Torrent <marc.torrent@cea.fr>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] 4.3.3 on Hitachi-sr11000 - MPI_COMM_WORLD==0
  • Date: Thu, 07 Oct 2004 17:36:14 +0200

Dear Arai Masao,

I seems that you're using an "old" version of mpif...
Abinit's parallelization has been recently revised (by Mireille Boulet, here at the CEA-Bruyeres-le_Chatel, France) and these modifications are using the new version of the "mpif.h" where MPI_COMM_WOLRD is 91 and MPI_COMM_SELF is 92.
(In fact, in older version of mpif.h, MPI_COMM_WORLD=0 and MPI_COMM_SELF=1).

If you want Abinit v433 to run on your Hitachi, you have to use a newer version of mpif.h (for ex. v1.2.5.2).


Regards,

Marc Torrent
CEA-Bruyeres-le-Chatel
France


Arai Masao a écrit :
Dear all,

I am a collaborator of Wang Yuan Xu who asked some questions
about abinit on Hitachi SR-11000. Thank you for your kind replies.

I found possible reason why the abinit-4.3.3 does not work on this machine
in parallel mode.

In SR11000, MPI_COMM_WORLD is defined to 0 in /usr/include/mpif.h.
---- mpif.h -----
integer*4 MPI_COMM_WORLD,MPI_COMM_SELF
parameter (MPI_COMM_WORLD=0,MPI_COMM_SELF=1)
------------------

Unfortunately, the zero has special meaning in Src_1managempi/xdef_comm.f and
Src_1managempi/xfuncmpi.f.

--- xdeff_comm.f ----
subroutine xcomm_world(spaceComm)
[ lines deleted]
integer :: spaceComm
# if defined MPI
spaceComm = MPI_COMM_WORLD
# else
spaceComm = 0
# endif
--------------------------------

--- xfuncmpi.f ----
subroutine xsum_mpi_int(xval,spaceComm,ier)
[lines deleted]
# if defined MPI || defined MPI_FFT
integer , allocatable :: xsum(:)
if (spaceComm /= 0) then <<<<<<<<<<<< #1
!Accumulate xval on all proc. in spaceComm
[lines deleted]
end subroutine xsum_mpi_int
-------

With the line indicated by "#1", if the spaceComm is set to MPI_COMM_WORLD(=0),
the mpi routines does not work properly.
The version 4.2 does not have such checks. So, abinit-4.2 works properly
even on SR11000.

If we remove the comparison between spaceComm and 0, the parallel mode
seems to work properly. Is it safe to remove this comparison?

--
Masao ARAI
National Institute for Materials Science (NIMS)
Computational Materials Science Center
First-Principles Simulation Group (II)
mail: arai.masao@nims.go.jp





Archive powered by MHonArc 2.6.16.

Top of Page