2.10. Maximizing Performance

nextnano++ whose version is later than 2021_12_24 uses significantly more parallelization than previous versions.

The following settings are recommended unless a notebook or an ancient PC is used. This is illustrated for the example of a CPU 8 cores and 16 threads:

  1. If many small (e.g. 1D) runs are performed at a time:

    • max. number of simulations = number of CPU cores (not CPU threads!), i.e. 8 in the present case.

    • max. number of threads per simulation = 1

    • process priority: on a dedicate machine, or if you are not bothered by CPU load: use “normal” instead of “below normal”

  1. If only individual runs are performed at a time, which optionally may be large (e.g. 3D):

    • max. number of simulations = 1

    • max. number of threads per simulation = number of CPU cores (not CPU threads!), i.e. 8 in the present case

    • process priority: on a dedicate machine, or if you are not bothered by CPU load: use “normal” instead of “below normal”

The max. number is specified from “Tools->Options->Simulation” in nextnanomat. The process priority is specified from “Tools->Options->Expert settings”.

On Linux, corresponding optimal settings apply.

Also note that especially 3D simulations may write huge amounts of data (GBytes) to disk, i.e. using SSDs is highly recommended.