[Wien] wien2k, gotoblas and multi threads

Peter Blaha pblaha at theochem.tuwien.ac.at
Mon Aug 11 16:25:22 CEST 2008


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

-- 
-----------------------------------------
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