Page 1 of 1

Slow Haydock

Posted: Tue Sep 05, 2023 1:44 pm
by batman
Dear Developers,

The Haydock solver from github master branch is very slow (nearly x15 times slower) than 5.1.2 version. I am attaching log and report files (input is same for both) when computed using two different Yambo versions. Could you please point out what is going wrong?

Best regards,
Murali

Re: Slow Haydock

Posted: Fri Sep 08, 2023 12:05 pm
by Davide Sangalli
Dear Murali,
thanks for reporting.

If you check the log. The solver slows down every 10 iterations. It is due to the writing of the Haydock results (output files) on the fly. This is handled via a series of subroutines.

Code: Select all

K_OUTPUT --> ELEMENTAL_dump --> X_OUTPUT_driver --> OUTPUT_driver --> OUTPUT_driver --> msg
(both complex and super slow. Don't ask me why, not my doing ...)

I'd suggest first to change this line in K_Haydock

Code: Select all

if ( mod(it,max(1,Haydock_iterIO/10))==0) call K_OUTPUT(iq,W,"override dump Haydock close",OBS)
to

Code: Select all

if ( mod(it,max(1,Haydock_iterIO))==0) call K_OUTPUT(iq,W,"override dump Haydock close",OBS)
(I'll probably also fix this in the main repo.)

Next you can play with the input variable

Code: Select all

BSHayItrIO
Default is 100 (this is why the code slows done every 10 iterations).

Best,
D.