I think that the statement "npools must be a divisor of the total number of k-points" in the slides is inaccurate. npools needs to be less than or equal to the total number of k-points because every pool must have at least 1 k-point to work on. npool not being a divisor doesn't cause a correctness issue. A non-divisor causes more imbalance and reduces efficiency because some pools work on less number of k-points and become idle at pool synchronization points once their assigned k-points are completed. In practice, the workload of each k-point differs, even if npool is a divisor, there is additional imbalance in the calculation. So select npool as a divisor is a recommendation for getting better performance instead of a requirement.
Ye =================== Ye Luo, Ph.D. Computational Science Division & Leadership Computing Facility Argonne National Laboratory On Tue, Jan 5, 2021 at 5:16 PM Andrew Xu <[email protected]> wrote: > Hi users, > > Does npool need to divide the number of k-points after symmetry operations > are performed? In a tutorial I saw online ( > https://materials.prace-ri.eu/497/7/QE__main_strategies_of_parallelization_and_levels_of_parallelisms.pdf): > "By definition, npools must be a divisor of the total number of k-points." > > In a calculation I ran (relevant output below), I accidentally sent npool > = 16, which does not divide the total number of k points after symmetry > operations (35), but I got no errors. Am I misunderstanding something here? > > Best, > Andrew > > ------------------------------ > > Parallel version (MPI & OpenMP), running on 80 processor cores > Number of MPI processes: 80 > Threads/MPI process: 1 > K-points division: npool = 16 > R & G space division: proc/nbgrp/npool/nimage = 5 > Reading input from pw_oncv_pbe0.in > > Current dimensions of program PWSCF are: > Max number of different atomic species (ntypx) = 10 > Max number of k-points (npk) = 40000 > Max angular momentum in pseudopotentials (lmaxx) = 3 > > IMPORTANT: XC functional enforced from input : > Exchange-correlation = PBE0 ( 6 4 8 4 0 0) > EXX-fraction = 0.25 > Any further DFT definition will be discarded > Please, verify this is what you really want > > > Subspace diagonalization in iterative solution of the eigenvalue > problem: > a serial algorithm will be used > > EXX: setup a grid of 512 q-points centered on each k-point > (set verbosity='high' to see the list) > > Parallelization info > -------------------- > sticks: dense smooth PW G-vecs: dense smooth PW > Min 194 194 58 4548 4548 756 > Max 196 196 59 4550 4550 759 > Sum 973 973 293 22743 22743 3791 > > > > bravais-lattice index = 1 > lattice parameter (alat) = 7.1240 a.u. > unit-cell volume = 361.5528 (a.u.)^3 > number of atoms/cell = 4 > number of atomic types = 2 > number of electrons = 46.00 > number of Kohn-Sham states= 26 > kinetic-energy cutoff = 60.0000 Ry > charge density cutoff = 240.0000 Ry > cutoff for Fock operator = 240.0000 Ry > convergence threshold = 1.0E-08 > mixing beta = 0.7000 > number of iterations used = 8 plain mixing > Exchange-correlation = PBE0 ( 6 4 8 4 0 0) > EXX-fraction = 0.25 > ... > > atomic species valence mass pseudopotential > O 6.00 15.99940 O ( 1.00) > W 28.00 183.85000 W ( 1.00) > > 48 Sym. Ops., with inversion, found > > > > Cartesian axes > > site n. atom positions (alat units) > 1 W tau( 1) = ( 0.0000000 0.0000000 0.0000000 > ) > 2 O tau( 2) = ( 0.0000000 0.5000000 0.0000000 > ) > 3 O tau( 3) = ( 0.5000000 0.0000000 0.0000000 > ) > 4 O tau( 4) = ( 0.0000000 0.0000000 0.5000000 > ) > > number of k points= 35 > cart. coord. in units 2pi/alat > k( 1) = ( 0.0000000 0.0000000 0.0000000), wk = 0.0039062 > k( 2) = ( 0.0000000 0.0000000 0.1250000), wk = 0.0234375 > k( 3) = ( 0.0000000 0.0000000 0.2500000), wk = 0.0234375 > k( 4) = ( 0.0000000 0.0000000 0.3750000), wk = 0.0234375 > k( 5) = ( 0.0000000 0.0000000 -0.5000000), wk = 0.0117188 > k( 6) = ( 0.0000000 0.1250000 0.1250000), wk = 0.0468750 > k( 7) = ( 0.0000000 0.1250000 0.2500000), wk = 0.0937500 > k( 8) = ( 0.0000000 0.1250000 0.3750000), wk = 0.0937500 > k( 9) = ( 0.0000000 0.1250000 -0.5000000), wk = 0.0468750 > k( 10) = ( 0.0000000 0.2500000 0.2500000), wk = 0.0468750 > k( 11) = ( 0.0000000 0.2500000 0.3750000), wk = 0.0937500 > k( 12) = ( 0.0000000 0.2500000 -0.5000000), wk = 0.0468750 > k( 13) = ( 0.0000000 0.3750000 0.3750000), wk = 0.0468750 > k( 14) = ( 0.0000000 0.3750000 -0.5000000), wk = 0.0468750 > k( 15) = ( 0.0000000 -0.5000000 -0.5000000), wk = 0.0117188 > k( 16) = ( 0.1250000 0.1250000 0.1250000), wk = 0.0312500 > k( 17) = ( 0.1250000 0.1250000 0.2500000), wk = 0.0937500 > k( 18) = ( 0.1250000 0.1250000 0.3750000), wk = 0.0937500 > k( 19) = ( 0.1250000 0.1250000 -0.5000000), wk = 0.0468750 > k( 20) = ( 0.1250000 0.2500000 0.2500000), wk = 0.0937500 > k( 21) = ( 0.1250000 0.2500000 0.3750000), wk = 0.1875000 > k( 22) = ( 0.1250000 0.2500000 -0.5000000), wk = 0.0937500 > k( 23) = ( 0.1250000 0.3750000 0.3750000), wk = 0.0937500 > k( 24) = ( 0.1250000 0.3750000 -0.5000000), wk = 0.0937500 > k( 25) = ( 0.1250000 -0.5000000 -0.5000000), wk = 0.0234375 > k( 26) = ( 0.2500000 0.2500000 0.2500000), wk = 0.0312500 > k( 27) = ( 0.2500000 0.2500000 0.3750000), wk = 0.0937500 > k( 28) = ( 0.2500000 0.2500000 -0.5000000), wk = 0.0468750 > k( 29) = ( 0.2500000 0.3750000 0.3750000), wk = 0.0937500 > k( 30) = ( 0.2500000 0.3750000 -0.5000000), wk = 0.0937500 > k( 31) = ( 0.2500000 -0.5000000 -0.5000000), wk = 0.0234375 > k( 32) = ( 0.3750000 0.3750000 0.3750000), wk = 0.0312500 > k( 33) = ( 0.3750000 0.3750000 -0.5000000), wk = 0.0468750 > k( 34) = ( 0.3750000 -0.5000000 -0.5000000), wk = 0.0234375 > k( 35) = ( -0.5000000 -0.5000000 -0.5000000), wk = 0.0039062 > > Dense grid: 22743 G-vectors FFT dimensions: ( 36, 36, 36) > > Estimated max dynamical RAM per process > 14760.85MB > > Estimated total allocated dynamical RAM > 1180867.90MB > .... > _______________________________________________ > Quantum ESPRESSO is supported by MaX (www.max-centre.eu) > users mailing list [email protected] > https://lists.quantum-espresso.org/mailman/listinfo/users
_______________________________________________ Quantum ESPRESSO is supported by MaX (www.max-centre.eu) users mailing list [email protected] https://lists.quantum-espresso.org/mailman/listinfo/users
