yambo-code / yambo

This is the official GPL repository of the yambo code
http://www.yambo-code.eu/
GNU General Public License v2.0
100 stars 39 forks source link

Tech ydiago #131

Closed sangallidavide closed 2 months ago

sangallidavide commented 2 months ago

Small fix to issue noticed by @muralidhar-nalabothula (compilation of scalapack always enabled)

muralidhar-nalabothula commented 2 months ago

Hi Davide,

It still tries to compile internal scalapack library.

More importantly, The preprocessor flag -D_ELPA is not used when creating .f90 from .F files. Although it says ELPA Diagonalization (which is not guarded by ifdef), it is always running scalapack diagonalization (this is the reason why you see same timing for elpa and scalapack)

Could you please include this commit into this PR (which will fix compilation error when usind -D_ELPA : https://github.com/muralidhar-nalabothula/yambo/commit/27edf4badc41b18737e6e945ab843583cf6f9d08

I ran a small calculation with ELPA: Coupling case, ~72K full bse size with 512 cpus (22 X 23 blacs grid) Here are the timing: Scalapack : ~30 min Elpa: ~ 8min

resonant case (36K size of full bse) Scalapack : 144 sec Elpa: ~ 71 sec

Please use the latest v.0.3.0 of Ydiago

sangallidavide commented 2 months ago

It still tries to compile internal scalapack library.

Yeap, sorry, I messed up with merging the branches and I did not re-run autoconf last time.

More importantly, The preprocessor flag -D_ELPA is not used when creating .f90 from .F files.

Ok, fixing this as well

sangallidavide commented 2 months ago

Now it should be ok.

muralidhar-nalabothula commented 2 months ago

All issues fixed. For me this PR can be merged. If you get some time, you can also test GPU version (v.0.3.0 also supports GPU: CUDA, HIP, INTEL, simply compile ELPA and yambo for GPUs .). I think, for now, that's all from my side. Let me know if you have any issues when testing.

sangallidavide commented 2 months ago

Yeap, GPU testing is also on the todo list with slepc. When I'll work on it, I'll aso try ydiago+elpa with CUDA and update the report on BSE solvers.