[CP2K-user] needs advice to speed up hybrid/ADMM method

Nicholas Winner nwi... at berkeley.edu
Sun Sep 13 22:58:15 UTC 2020


(1) OT can get the band gap, if you include the section:
&DFT
    &PRINT
        &MO_CUBES
            WRITE_CUBE False
            NHOMO 1
            NLUMO 1
        &END
    &END
&END

It will print a line "HOMO-LUMO" with the band gap. Now, because OT only 
works on the occupied levels, it will return a *slightly* different result 
from diagonalization for the band gap. I've tested it a few times and found 
it was only 0.01eV difference for a moderately gapped material, so I think 
it should be fine for most applications. If you need the levels to be super 
accurate, you can always converge with OT, then re-evaluate with 
diagonalization, but if you're using ADMM then you're willing to sacrifice 
a tiny bit of accuracy anyway.

(2) For max memory, you can look at the beginning of your cp2k output file 
and find the line that says "MemFree" and divide it by the number of 
message-passing processes (also listed in out file near the top), and see 
how much you should have available for each mpi process. Can we see full 
output file?

(3) "Finally, I would assume the line (printing the Number of sph. ERI's 
calculated on the fly is not zero) only works for the first SCF iteration? 
". To be clear, the output says 

 Number of sph. ERI's stored in-core: 16901607068
and 
 Number of sph. ERI's calculated on the fly: 91978901962

This means that during the first step "16901607068" ERIs were stored, and 
are re-used each SCF step, but "91978901962" ERIs could not be stored, and 
will be re-calculated on SCF step 2,3,4... 

On Sunday, September 13, 2020 at 2:11:33 PM UTC-7 ge... at gmail.com wrote:

> Hi,
> Thank you for your prompt reply.
> For the basis set, I am using the small (DZVP) primary basis sets and 
> small auxiliary basis set too. I planned to increase them if  the accuracy 
> is not optimal.
> Indeed, my target system has a large band gap (~3eV). However, I would 
> like to study the band gap of the material, can I use OT method? it seems 
> that OT method only prints the energies of occupied orbitals. Please 
> correct me if I am wrong.
>
> Finally, I would assume the line (printing the Number of sph. ERI's 
> calculated on the fly is not zero) only works for the first SCF iteration? 
> and How could I have a good estimation on the MAX_MEMORY? 
> and will the MAX_MEMORY depend on the choice of OMP_NUM_THREAD?
>
> Thank you very much.
> Best Regards,
> Geng
>
>
>
> 在2020年9月13日星期日 UTC-7 下午12:15:40<n... at berkeley.edu> 写道:
>
>> You pointed out a key issue at the end of your post. "ERI's calculated on 
>> the fly" should ideally be zero. The reason is that the 4-center 
>> electron-repulsion integrals (ERIs) are geometric objects, and only need to 
>> be evaluated in the first SCF, provided you can store their results in 
>> memory. If you have enough memory for this, then the first SCF step will be 
>> long, but the subsequent SCF steps will be only slightly more expensive 
>> than a GGA calculation. 
>>
>> Other than that there are two things I might note:
>> (1) If your system has a band-gap, you should use the OT method instead 
>> of standard matrix diagonalization, it scales quite well and has very nice 
>> convergence behavior.
>> (2) You say you have 120Gb of memory available for you calculation, but 
>> only 13Gb are consumed by your HFX module. Even with the rest of the cp2k 
>> program taking some memory, you should have a lot more memory left over for 
>> storing thee ERIs. Double check MAX_MEMORY is a reasonable value, it is the 
>> max amount of memory for *each* MPI task to use.
>> (3) Last thing that could be an issue is your auxiliary basis set, which 
>> ones are you using for this calculation? ADMM is so beneficial because you 
>> can use a smaller, aux basis, for the HF part of the calculation, but maybe 
>> your are using a large aux basis set? 
>>
>> In general, ADMM calc should be much faster than the same calc in vasp 
>> using a primary basis set, so long as you don't make thee supercell too big.
>> On Sunday, September 13, 2020 at 11:42:55 AM UTC-7 ge... at gmail.com 
>> wrote:
>>
>>> Dear CP2K users, 
>>>
>>> I would like benchmark  a small periodic system (11 A x 11 A x 11A)  
>>> using HSE06 functional  with results obtained from VASP,
>>> Here is my input for DFT section:
>>>
>>>    &DFT
>>>       BASIS_SET_FILE_NAME BASIS_MOLOPT_UCL
>>>       BASIS_SET_FILE_NAME BASIS_MOLOPT
>>>       BASIS_SET_FILE_NAME BASIS_ADMM_MOLOPT
>>>       BASIS_SET_FILE_NAME BASIS_ADMM
>>>       POTENTIAL_FILE_NAME GTH_POTENTIALS
>>>       WFN_RESTART_FILE_NAME cp2k-RESTART.wfn
>>>       &MGRID
>>>          CUTOFF 320
>>>          COMMENSURATE
>>>       &END MGRID
>>>       &QS
>>>          EXTRAPOLATION PS
>>>          EXTRAPOLATION_ORDER 3
>>>          EPS_DEFAULT  1.0E-11
>>>          EPS_PGF_ORB  1.0E-14
>>>          MAP_CONSISTENT T
>>>       &END QS
>>>       &SCF
>>>          SCF_GUESS RESTART
>>>          EPS_SCF 1.0E-7
>>>          MAX_SCF 300
>>>          ADDED_MOS 100
>>>          &DIAGONALIZATION
>>>             ALGORITHM STANDARD
>>>          &END DIAGONALIZATION
>>>          &SMEAR  ON
>>>             METHOD FERMI_DIRAC
>>>             ELECTRONIC_TEMPERATURE [K] 300
>>>          &END SMEAR
>>>          &MIXING
>>>             METHOD BROYDEN_MIXING
>>>             ALPHA 0.2
>>>             BETA 1.5
>>>             NBROYDEN 8
>>>          &END MIXING
>>>       &END SCF
>>>       !&XC
>>>       !   &XC_FUNCTIONAL PBE
>>>       !   &END XC_FUNCTIONAL
>>>       !&END XC
>>>       &XC
>>>         &XC_FUNCTIONAL
>>>           &PBE
>>>             SCALE_X 0.0
>>>             SCALE_C 1.0
>>>           &END PBE
>>>           &XWPBE
>>>             SCALE_X -0.25
>>>             SCALE_X0 1.0
>>>             OMEGA 0.11
>>>           &END XWPBE
>>>         &END XC_FUNCTIONAL
>>>         &HF
>>>           &SCREENING
>>>             EPS_SCHWARZ 1.0E-6
>>>             SCREEN_ON_INITIAL_P T
>>>           &END SCREENING
>>>           &INTERACTION_POTENTIAL
>>>             POTENTIAL_TYPE SHORTRANGE
>>>             OMEGA 0.11
>>>           &END INTERACTION_POTENTIAL
>>>           &MEMORY
>>>             MAX_MEMORY  4000
>>>             EPS_STORAGE_SCALING 0.1
>>>           &END MEMORY
>>>           FRACTION 0.25
>>>         &END HF
>>>       &END XC
>>>       &AUXILIARY_DENSITY_MATRIX_METHOD
>>>           METHOD BASIS_PROJECTION
>>>           ADMM_PURIFICATION_METHOD NONE
>>>       &END AUXILIARY_DENSITY_MATRIX_METHOD
>>>       &PRINT
>>>          &PDOS
>>>             FILENAME pdos
>>>             # print all projected DOS available:
>>>             NLUMO -1
>>>             # split the density by quantum number:
>>>             COMPONENTS
>>>          &END
>>>       &END PRINT
>>>    &END DFT
>>>
>>> The calculation restarted from a converged PBE wavefunction.
>>> However, I found that the calculation is quite "slow" ( Vasp needs 240 
>>> seconds for a SCF step, but CP2K needs almost 2400 seconds. Both of them 
>>> are carried out using a computing node with 24 cores and 120 G memory in 
>>> total). I understand it is not easy to compare the different software 
>>> because of very different setups, but I wound expect the ADMM method in 
>>> CP2K should be much faster.
>>>
>>> Below is the output.
>>>
>>>  SCF WAVEFUNCTION OPTIMIZATION
>>>
>>>   Step     Update method      Time    Convergence         Total energy  
>>>   Change
>>>   
>>> ------------------------------------------------------------------------------
>>>
>>>   HFX_MEM_INFO| Est. max. program size before HFX [MiB]:                
>>>      792
>>>
>>>  *** WARNING in hfx_types.F:1287 :: Periodic Hartree Fock calculation    
>>>   ***
>>>  *** requested with use of a truncated or shortrange potential. The 
>>> cutoff ***
>>>  *** radius is larger than half the minimal cell dimension. This may 
>>> lead  ***
>>>  *** to unphysical total energies. Reduce the cutoff radius in order to  
>>>   ***
>>>  *** avoid possible problems.                                            
>>>   ***
>>>
>>>   HFX_MEM_INFO| Number of cart. primitive ERI's calculated:      
>>>  11992558561508
>>>   HFX_MEM_INFO| Number of sph. ERI's calculated:                    
>>> 157558545566
>>>   HFX_MEM_INFO| Number of sph. ERI's stored in-core:                
>>>  16901607068
>>>   HFX_MEM_INFO| Number of sph. ERI's stored on disk:                    
>>>        0
>>>   HFX_MEM_INFO| Number of sph. ERI's calculated on the fly:          
>>> 91978901962
>>>   HFX_MEM_INFO| Total memory consumption ERI's RAM [MiB]:                
>>>   13711
>>>   HFX_MEM_INFO| Whereof max-vals [MiB]:                                  
>>>     454
>>>   HFX_MEM_INFO| Total compression factor ERI's RAM:                      
>>>    9.41
>>>   HFX_MEM_INFO| Total memory consumption ERI's disk [MiB]:              
>>>        0
>>>   HFX_MEM_INFO| Total compression factor ERI's disk:                    
>>>     0.00
>>>   HFX_MEM_INFO| Size of density/Fock matrix [MiB]:                      
>>>       24
>>>   HFX_MEM_INFO| Size of buffers [MiB]:                                  
>>>       90
>>>   HFX_MEM_INFO| Number of periodic image cells considered:              
>>>      123
>>>   HFX_MEM_INFO| Est. max. program size after HFX  [MiB]:                
>>>     3582
>>>
>>>      1 NoMix/Diag. 0.20E+00 6553.7     0.12989389     -3154.6382899197 
>>> -3.15E+03
>>>
>>>  *** WARNING in hfx_types.F:1287 :: Periodic Hartree Fock calculation    
>>>   ***
>>>  *** requested with use of a truncated or shortrange potential. The 
>>> cutoff ***
>>>  *** radius is larger than half the minimal cell dimension. This may 
>>> lead  ***
>>>  *** to unphysical total energies. Reduce the cutoff radius in order to  
>>>   ***
>>>  *** avoid possible problems.                                            
>>>   ***
>>>
>>>      2 Broy./Diag. 0.20E+00 2486.1     0.00624233     -3159.6346919624 
>>> -5.00E+00
>>>
>>>  *** WARNING in hfx_types.F:1287 :: Periodic Hartree Fock calculation    
>>>   ***
>>>  *** requested with use of a truncated or shortrange potential. The 
>>> cutoff ***
>>>
>>>
>>> Is there anything wrong with my input that slows down the calculation?
>>> In particular, the " ERI's calculated on the fly" is not zero which 
>>> seems not good according to a slide from "
>>> https://mattatlincoln.github.io/talks/GhentWorkshop/?print-pdf#/"
>>>
>>> Thank you very much in advance
>>> Best Regards,
>>> Geng
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20200913/e1d6ed49/attachment-0001.html>


More information about the CP2K-user mailing list