Skip to Content.
Sympa Menu

forum - [Fwd: Re: [abinit-forum] parallelization issue]

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

[Fwd: Re: [abinit-forum] parallelization issue]


Chronological Thread 
  • From: "Nichols A. Romero" <nromero@uiuc.edu>
  • To: forum@abinit.org
  • Subject: [Fwd: Re: [abinit-forum] parallelization issue]
  • Date: Tue, 18 May 2004 12:51:50 -0500

Hi,

Can anyone on this list tell me more about how the parameter nbdblock
works?

Also, in the case of many k-points, is it a good idea to also do
additional turn on parallelization on bands with wfoptalg=1?

Thanks,
-----Forwarded Message-----
From: Jean-Francois Chabot <jean-francois.chabot@umontreal.ca>
To: Nichols A. Romero <nromero@uiuc.edu>
Subject: Re: [abinit-forum] parallelization issue
Date: Tue, 18 May 2004 11:00:06 -0400

>From the abinit web site nbdblock mean "Number of BanDs in a BLOCK".
So in your example nbdblock=7 should be appropriated.

But I checked in the file distrb2.f in the directory Src_1managempi and I
found this part of codes:

--------------------------------------------------------------------------------------------------------------
if (mpi_enreg%nproc > (mpi_enreg%paralbd*nkpt*nsppol)) then
write(message, '(a,a,a,a,i4,a,i4,a,a)' ) ch10,&
& ' distrb2: WARNING -',ch10,&
& ' nproc=',mpi_enreg%nproc,' > nkpt*nbdblock*nsppol', &
& nkpt*mpi_enreg%paralbd*nsppol,ch10, &
& ' The number of processors is larger than nkpt*nbdblock*nsppol. This is a
waste.'
call wrtout(06,message,'COLL')
endif
----------------------------------------------------------------------------------------------------------------

This means for your example that if you chose nbdblock=7 then
(nproc=10) > (nbdblock=7) and you should have this warning.

Conclucion: nbdblock=10 seem to be the good choice for your example and the
definition of nbdblock is apparently wrong from what I understood in the
code.

Best wishes,
Jean-Francois Chabot


> I saw that you had replied to this thread in the ABINIT Forum archive
> and had a follow-up question.
>
> I'm still confused about what nbdblock is:
>
> Is it the number of bands in a block?
> Or the number of blocks to divide the bands into?
>
> For example, suppose I have 70 bands, and I want to efficiently use 10
> processors. Let's also assume nkpt=nsppol=1.
>
> Then do I want to set nbdblock to
> 7: 7 bands per processor and 10 processors equal 70 bands
> 10: 10 total blocks with 7 bands per each of the 10 processors
>
> Bests,
--
Nichols A. Romero

4-133 ESB, MC 704 508 East Michigan Avenue
1110 West Green Street Apartment 12
Urbana, IL 61801-3080 Urbana, IL 61801-5176
(217) 333-6108 (217) 417-5210





Archive powered by MHonArc 2.6.16.

Top of Page