Parameters about parallelism
Posted: Thu Aug 16, 2018 5:32 pm
Dear Abinit users,
I am doing calculations on big systems, so parallel calculations should be employed.
In tutorial I found several parameters related to the parallelization. If I don't care about the efficiency, I could just set autoparal=1. However, with paral_kgb=1 and autoparal=0, I could divided the number of processors on different levels, which are controled by npfft, npkpt, npspinor, npband, and bandpp. In order to set these parameters, several constrains should be considered:
1). npkpt*npfft*npband*npspinor=nproc;
2). nband should be a multiple of npband*bandpp;
3). bandpp should be either 1 or a multiple of 2.
The system is unpolarized, so npspinor could be kept 1.
Despite of these constrains, the degree of freedom of setting these parameters is still large. I wonder if there is other constrains I overlooked and if there is a usual way to set these parameters and choose proper number of processors to gain a good efficiency for the calculation.
For an example, the default number of band to be calculated is nband=497, and the maximum processors of each calculation node is 28, with total k points 32 respect to a 10*10*1 k point mesh. Could anyone please tell me how I should choose the parallel parameters: npkpt, npfft, npband, and bandpp?
Any hint for this will be welcome.
Best regards
Zhishuo Huang
I am doing calculations on big systems, so parallel calculations should be employed.
In tutorial I found several parameters related to the parallelization. If I don't care about the efficiency, I could just set autoparal=1. However, with paral_kgb=1 and autoparal=0, I could divided the number of processors on different levels, which are controled by npfft, npkpt, npspinor, npband, and bandpp. In order to set these parameters, several constrains should be considered:
1). npkpt*npfft*npband*npspinor=nproc;
2). nband should be a multiple of npband*bandpp;
3). bandpp should be either 1 or a multiple of 2.
The system is unpolarized, so npspinor could be kept 1.
Despite of these constrains, the degree of freedom of setting these parameters is still large. I wonder if there is other constrains I overlooked and if there is a usual way to set these parameters and choose proper number of processors to gain a good efficiency for the calculation.
For an example, the default number of band to be calculated is nband=497, and the maximum processors of each calculation node is 28, with total k points 32 respect to a 10*10*1 k point mesh. Could anyone please tell me how I should choose the parallel parameters: npkpt, npfft, npband, and bandpp?
Any hint for this will be welcome.
Best regards
Zhishuo Huang