Dear Prof. E. R. Margine,
The number of cpu that we can used is constrained by the total number of k-points in the coarse mesh.
How can we do Eliashberg calculation with large number of cpu? For example, for coarse k-mesh being 6x6x6 (totally 216 points),
I want to use 1000 cpu to speed up my calculation.
I searched in the forum, and found you have posted a reply about how to restart an Eliashberg calculation by setting:
ep_coupling=.false.
elph=.false.
kmaps = .true.
epbwrite = .false.
epbread = .true.
epwwrite = .false.
epwread = .true.
wannierize = .false.
ephwrite=.false.
eliashberg = .true.
But in this manner, the number of cpu is also the same with previous calculation before restarting.
As I know, in an interpolated calculation, we can use more cpus by restarting the calculation as follows.
elph = .true.
kmaps = .true.
epbwrite = .false.
epbread = .false.
epwwrite = .false.
epwread = .true.
wannierize = .false.
Your help will be highly appreciated!
Best wishes,
Miao Gao
How to do an Eliashberg calculation with more cpu?
Moderator: stiwari
Re: How to do an Eliashberg calculation with more cpu?
Hi,
ep_coupling=.false. and elph=.false. are only meant to be used for performing directly an Eliashberg calculation (eliashberg=.true.) when *.ephmat, *.freq, *.egnv, and*.ikmap files were generated in a previous run. At the moment, for such a calculation, the number of CPUs is restricted by the number of *.ephmat files.
You can do a restart interpolation calculation using more CPUs and generate the *.ephmat files
elph = .true.
kmaps = .true.
epbwrite = .false.
epbread = .false.
epwwrite = .false.
epwread = .true.
wannierize = .false.
ephwrite = .true.
and after do an Eliashberg calculation using
ep_coupling=.false.
elph=.false.
kmaps = .true.
epbwrite = .false.
epbread = .true.
epwwrite = .false.
epwread = .true.
wannierize = .false.
ephwrite=.false.
eliashberg = .true.
These two calculations will have to use the same number of CPUs.
Best,
Roxana
ep_coupling=.false. and elph=.false. are only meant to be used for performing directly an Eliashberg calculation (eliashberg=.true.) when *.ephmat, *.freq, *.egnv, and*.ikmap files were generated in a previous run. At the moment, for such a calculation, the number of CPUs is restricted by the number of *.ephmat files.
You can do a restart interpolation calculation using more CPUs and generate the *.ephmat files
elph = .true.
kmaps = .true.
epbwrite = .false.
epbread = .false.
epwwrite = .false.
epwread = .true.
wannierize = .false.
ephwrite = .true.
and after do an Eliashberg calculation using
ep_coupling=.false.
elph=.false.
kmaps = .true.
epbwrite = .false.
epbread = .true.
epwwrite = .false.
epwread = .true.
wannierize = .false.
ephwrite=.false.
eliashberg = .true.
These two calculations will have to use the same number of CPUs.
Best,
Roxana
Roxana Margine
Associate Professor
Department of Physics, Applied Physics and Astronomy
Binghamton University, State University of New York
Associate Professor
Department of Physics, Applied Physics and Astronomy
Binghamton University, State University of New York
Re: How to do an Eliashberg calculation with more cpu?
Dear Prof. E. R. Margine,
Thank you very much for your quick reply! I have tried your method as follows. The first run is done by 96 CPUs, and
then I restart the calculation with previously obtained epmatwp1 file using 216 CPUs, but an error of 'forrtl: severe (174): SIGSEGV, segmentation fault occurred'
is encountered. The output is stuck at 'Fermi energy coarse grid = 7.568419 eV'. But if 96 CPUs are used in the restarted run, evergthing is ok.
Does this error relate to the version of QE or the variable 'mp_mesh_k'? I use qe-6.0 for above mentioned calculations. And I will try your method with the up-to-date version as soon as possible.
May I ask the value of 'conv_thr_iaxis' that you used in your MgB2 paper [PRB 87 (2013), and CPC 209 (2016)]?
I set 'conv_thr_iaxis' to 1.0D^-4, and 'broyden_beta' to 0.3 in my MgB2 calculation, but the convergence is very hard to achieve.
Btw, It seems to me that the variable 'eptemp' doesn't affect the result of anisotropic Eliashberg calculation, am I right?
Thanks for your time!
Best wishes,
Miao Gao
Thank you very much for your quick reply! I have tried your method as follows. The first run is done by 96 CPUs, and
then I restart the calculation with previously obtained epmatwp1 file using 216 CPUs, but an error of 'forrtl: severe (174): SIGSEGV, segmentation fault occurred'
is encountered. The output is stuck at 'Fermi energy coarse grid = 7.568419 eV'. But if 96 CPUs are used in the restarted run, evergthing is ok.
Does this error relate to the version of QE or the variable 'mp_mesh_k'? I use qe-6.0 for above mentioned calculations. And I will try your method with the up-to-date version as soon as possible.
May I ask the value of 'conv_thr_iaxis' that you used in your MgB2 paper [PRB 87 (2013), and CPC 209 (2016)]?
I set 'conv_thr_iaxis' to 1.0D^-4, and 'broyden_beta' to 0.3 in my MgB2 calculation, but the convergence is very hard to achieve.
Btw, It seems to me that the variable 'eptemp' doesn't affect the result of anisotropic Eliashberg calculation, am I right?
Thanks for your time!
Best wishes,
Miao Gao
Re: How to do an Eliashberg calculation with more cpu?
Dear Miao,
I personally never tried to restart an anisotropic Eliashberg calculation with a different number of CPUs, but I am assuming that the procedure suggested in my previous email should work. Could you try the latest version of the code to see if you get the same error?
In most cases I use conv_thr_iaxis=1.d^-4 and broyden_beta=0.7. The convergence is harder to reach close to the critical temperature. For this, I usually take smaller steps for the temperature at which the Eliashberg equations are evaluated.
Indeed, eptemp does not enter in the anisotropic Eliashberg calculation.
Best,
Roxana
I personally never tried to restart an anisotropic Eliashberg calculation with a different number of CPUs, but I am assuming that the procedure suggested in my previous email should work. Could you try the latest version of the code to see if you get the same error?
In most cases I use conv_thr_iaxis=1.d^-4 and broyden_beta=0.7. The convergence is harder to reach close to the critical temperature. For this, I usually take smaller steps for the temperature at which the Eliashberg equations are evaluated.
Indeed, eptemp does not enter in the anisotropic Eliashberg calculation.
Best,
Roxana
Roxana Margine
Associate Professor
Department of Physics, Applied Physics and Astronomy
Binghamton University, State University of New York
Associate Professor
Department of Physics, Applied Physics and Astronomy
Binghamton University, State University of New York