Are there any options I should optimize in the input file to maximize the parallel efficiency? Like in the VASP, there are two options NCORE
and KPAR
controlling how to configure parallel running.
1 Answer
$\begingroup$
$\endgroup$
There are a couple of levels of parallelism:
- For big systems the general rule of thumb is that the diagonalization is the bottleneck for the Siesta calculation. Here, only one flag exists for optimizing the parallel efficiency:
Diag.ParallelOverK true
By default, Siesta uses all cores to diagonalize every k-point. However, if the system is "small", but you have many k-points, say $N_k>N_{processors}$, then using Diag.ParallelOverK
might improve efficiency significantly.
- Another part is the grid, generally this is very well parallelised and there is not much to gain, the defaults are standardly good.