Page 1 of 1

TPA stops at the NL Start

Posted: Sun Dec 08, 2024 4:55 am
by jasonhan0710
Dear Yambo developers,

I have calculated the two photon absorption in the monoclinic semiconductors. However, the calculation stops at the [06] NL Start and Restart and there is no error information. Can you please help me figure this problem out?

The LOG file reports

Code: Select all

 <02m-47s> P1-c1: [PARALLEL Non_Linear for Freqs on 16 CPU] Loaded/Total (Percentual):13/200(7%)
 <02m-47s> P1-c1: [PARALLEL Non_Linear for H(ibz) on 4 CPU] Loaded/Total (Percentual):96/385(25%)
 <02m-47s> P1-c1: [PARALLEL Non_Linear for QPs] Loaded/Total(Percentual):3456/1647030(0%)
 
 (END)
and the REPORT file says

Code: Select all


  The total polarization has module 1 !!
  
(END)
The input file is

Code: Select all

#
nloptics                         # [R] Non-linear spectroscopy
NLogCPUs=1                       # [PARALLEL] Live-timing CPU`s (0 for all)
PAR_def_mode= "balanced"         # [PARALLEL] Default distribution mode ("balanced"/"memory"/"workload"/"KQmemory")
NL_CPU= "16 4"                       # [PARALLEL] CPUs for each role
NL_ROLEs= "w k"                     # [PARALLEL] CPUs roles (w,k)
DIP_CPU= "4 4 4"                      # [PARALLEL] CPUs for each role
DIP_ROLEs= "k c v"                    # [PARALLEL] CPUs roles (k,c,v)
DIP_Threads=16                    # [OPENMP/X] Number of threads for dipoles
NL_Threads=16                     # [OPENMP/NL] Number of threads for nl-optics
FFTGvecs= 8003            RL    # [FFT] Plane-waves
% NLBands
   85 | 92 |                         # [NL] Bands range
%
NLverbosity= "high"              # [NL] Verbosity level (low | high)
NLtime=60.000000           fs    # [NL] Simulation Time
NLstep= 0.00100           fs    # [NL] Time step length
NLintegrator= "INVINT"           # [NL] Integrator ("EULEREXP/RK2/RK4/RK2EXP/HEUN/INVINT/CRANKNIC")
NLCorrelation= "IPA"             # [NL] Correlation ("IPA/HARTREE/TDDFT/LRC/LRW/JGM/SEX")
NLLrcAlpha= 0.000000             # [NL] Long Range Correction
% NLEnRange
1.000000 |9.000000 |         eV    # [NL] Energy range
%
NLEnSteps= 200                     # [NL] Energy steps
NLDamping= 0.100000        eV    # [NL] Damping (or dephasing)
RADLifeTime=-1.000000      fs    # [RT] Radiative life-time (if negative Yambo sets it equal to Phase_LifeTime in NL)
#EvalCurrent                   # [NL] Evaluate the current
#FrPolPerdic                   # [DIP] Force periodicity of polarization respect to the external field
HARRLvcs= 1000           mRy    # [HA] Hartree     RL components
EXXRLvcs= 1000           mRy    # [XX] Exchange    RL components
GfnQPdb= "E < ./GW/ndb.QP"                  # [EXTQP G] Database action
GfnQP_INTERP_NN= 1               # [EXTQP G] Interpolation neighbours (NN mode)
GfnQP_INTERP_shells= 50.00000    # [EXTQP G] Interpolation shells (BOLTZ mode)
GfnQP_DbGd_INTERP_mode= "BOLTZ"     # [EXTQP G] Interpolation DbGd mode
% GfnQP_E
 0.000000 | 1.000000 | 1.000000 |        # [EXTQP G] E parameters  (c/v) eV|adim|adim
%
GfnQP_Z= ( 1.000000 , 0.000000 )         # [EXTQP G] Z factor  (c/v)
GfnQP_Wv_E= 0.000000       eV    # [EXTQP G] W Energy reference  (valence)
% GfnQP_Wv
 0.000000 | 0.000000 | 0.000000 |        # [EXTQP G] W parameters  (valence) eV| 1|eV^-1
%
GfnQP_Wv_dos= 0.000000     eV    # [EXTQP G] W dos pre-factor  (valence)
GfnQP_Wc_E= 0.000000       eV    # [EXTQP G] W Energy reference  (conduction)
% GfnQP_Wc
 0.000000 | 0.000000 | 0.000000 |        # [EXTQP G] W parameters  (conduction) eV| 1 |eV^-1
%
GfnQP_Wc_dos= 0.000000     eV    # [EXTQP G] W dos pre-factor  (conduction)
% Field1_Freq
 0.100000 | 0.100000 |         eV    # [RT Field1] Frequency
%
Field1_NFreqs= 1                 # [RT Field1] Frequency
Field1_Int=  5.0E+4       kWLm2 # [RT Field1] Intensity
Field1_Width= 0.000000     fs    # [RT Field1] Width
Field1_kind= "SIN"           # [RT Field1] Kind(SIN|COS|RES|ANTIRES|GAUSS|DELTA|QSSIN)
Field1_pol= "linear"             # [RT Field1] Pol(linear|circular)
% Field1_Dir
 1.000000 | 1.000000 | 0.000000 |        # [RT Field1] Versor
%
Field1_Tstart= 0.001000    fs    # [RT Field1] Initial Time
Best,
Jason

Re: TPA stops at the NL Start

Posted: Tue Dec 10, 2024 10:09 am
by claudio
Dear Jason

how big is your system?
try to put all parallelization on frequencies, and reduce threads
something like

DIP_Threads=1 # [OPENMP/X] Number of threads for dipoles
NL_Threads=1 # [OPENMP/NL] Number of threads for nl-optics
NL_CPU= "64 1" # [PARALLEL] CPUs for each role
NL_ROLEs= "w k" # [PARALLEL] CPUs roles (w,k)
...
NLEnSteps= 192 # [NL] Energy steps

to be more efficient you can make NLEnSteps a a multiple number of the parallelization on frequencies 192=64*3

best
Claudio

Re: TPA stops at the NL Start

Posted: Thu Dec 12, 2024 4:24 am
by jasonhan0710
Dear Claudio,

Thank you for your quick reply! The code runs well after the "threads" are reduced to 1.

When I checked the memory I found that one yambo_nl process only uses approximately 1.5GB, which takes only 0.6% of the total memory of one node. It seems that it is not the memory issue. I used to treat "threads" as the OpenMP threads. But I am not sure why OpenMP did not work at this place. Would you please tell me what is the meaning of the "threads"?

Best,
Jason

Re: TPA stops at the NL Start

Posted: Thu Dec 12, 2024 9:54 am
by claudio
Dear Jason

in general the parallelization on threads is quite inefficient, you can use them
but just 2 or 4 not more.
If you use too many the code get stuck.
In general I use threads when I need more memory

best
Claudio