[Wien] wien2k, gotoblas and multi threads
Peter Blaha
pblaha at theochem.tuwien.ac.at
Tue Aug 12 11:37:00 CEST 2008
Looking on these numbers tells me, that you probably should invest into
ifort + mkl. It does not make sense to buy expensive new hardware, but
with bad software it runs slower than on a 6 year old PC.
Compare your timing with the benchmark page to see what is possible.
k-point parallelization: Please read the UG !!! This is fairly simple.
1:localhost:4 utilizes the mpi-parallel version;
you need to put N-lines
1:localhost
1:localhost
...
to specify running N lapw1 processes in parallel.
Todd Pfaff schrieb:
> Peter, thanks for the response.
>
> I'm getting small speedup from multithreading in libgoto. Here are
> timings from the wien2k serial benchmark:
>
> OMP_NUM_THREADS=1: 195.463u 0.307s 3:15.80 99.9% 0+0k 0+33264io 0pf+0w
> OMP_NUM_THREADS=2: 199.565u 0.569s 2:57.40 112.8% 0+0k 0+33264io 0pf+0w
> OMP_NUM_THREADS=3: 204.145u 0.635s 2:51.02 119.7% 0+0k 0+33264io 0pf+0w
> OMP_NUM_THREADS=4: 211.666u 0.736s 2:49.02 125.6% 0+0k 0+33264io 0pf+0w
> OMP_NUM_THREADS=5: 222.604u 1.032s 2:48.41 132.7% 0+0k 0+33264io 0pf+0w
> OMP_NUM_THREADS=6: 231.258u 0.927s 2:47.54 138.5% 0+0k 0+33264io 0pf+0w
> OMP_NUM_THREADS=7: 243.170u 0.996s 2:46.55 146.5% 0+0k 0+33264io 0pf+0w
> OMP_NUM_THREADS=8: 252.584u 0.916s 2:46.57 152.1% 0+0k 0+33264io 0pf+0w
>
>
> I would like explore the k-point parallelization. But when I run
> 'x lapw1 -p' it aborts with an error message about being unable to run
> lapw1c_mpi. This appears to me like it's trying to run the fine grained
> MPI parallel version. I'm not building wien2k with mpi so I don't have a
> lapw1c_mpi. I must be misunderstanding something. What am I doing wrong
> that's causing it to try to run this lapw1c_mpi executable?
>
> Which of these are appropriate .machines files to do k-point
> parallelization across N cpu cores on a single machine?
>
> This?
>
> 1:localhost:N
>
> Or this?
>
> N:localhost
>
> And do I need any of these lines?
>
> extrafine
> granularity:1
> residue:localhost
>
> Or do I need something else either in .machines or in some other
> file or on the command line?
>
> --
> Todd Pfaff <pfaff at mcmaster.ca>
> Research & High-Performance Computing Support
> McMaster University, Hamilton, Ontario, Canada
> http://www.rhpcs.mcmaster.ca/~pfaff
>
> On Mon, 11 Aug 2008, Peter Blaha wrote:
>
>> The program lapw1 spends a large fraction in BLAS-routines, thus it can
>> benefit from multithreading of GOTOLIBS (or MKL).
>> Setting the variables you mentioned to 2 (or 4) you should see a
>> speedup. The improvement may depend on many factors but it will be at
>> most about 50%.
>>
>> Another possibility to utilize the multiple cores is to do k-point
>> parallelism.
>> Generate a .machines file with 2,4 or 8 times your machine name
>> and test the performance with x lapw1 -p.
>> On some architectures (with slow memory bus) it can be that only 4
>> parallel jobs give best performance (because the slow memory bus cannot
>> feed all 8 cpus properly), on others you can use 8 parallel jobs.
>> Sometimes a mixture (4 k-point parallel + OMP_NUM_THREADS=2) is best.
>>
>> Todd Pfaff schrieb:
>>> We're using:
>>>
>>> wien2k-08.2-20080407
>>>
>>> built with:
>>>
>>> GNU Fortran (GCC) 4.2.3 (4.2.3-6mnb1)
>>> GotoBLAS-1.26
>>>
>>> and running on an 8 core (2 x quad core) Xeon machine.
>>>
>>> Can wien2k take advantage of multithreading inherent to GotoBLAS
>>> when either GOTO_NUM_THREADS or OMP_NUM_THREADS is set?
>>>
>>> If so, can someone provide, or direct me to a document about details of
>>> the best way to build and run wien2k for such an environment?
>>>
>>> Thank you,
>>> --
>>> Todd Pfaff <pfaff at mcmaster.ca>
>>> Research & High-Performance Computing Support
>>> McMaster University, Hamilton, Ontario, Canada
>>> http://www.rhpcs.mcmaster.ca/~pfaff
>>> _______________________________________________
>>> Wien mailing list
>>> Wien at zeus.theochem.tuwien.ac.at
>>> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
>>
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
--
-----------------------------------------
Peter Blaha
Inst. Materials Chemistry, TU Vienna
Getreidemarkt 9, A-1060 Vienna, Austria
Tel: +43-1-5880115671
Fax: +43-1-5880115698
email: pblaha at theochem.tuwien.ac.at
-----------------------------------------
More information about the Wien
mailing list