2.10. Maximizing Performance
The nextnano++ releases published after 2021/12/24 use 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 physical having 16 logical cores:
Single simulation with multiple thread (especially useful for larger simulations)
Set maximum number of simulations to 1.
Set number of threads to the number of physical cores (8 in the present case).
Use “normal” process priority if running on a dedicate machine, or if you are not bothered by the CPU load.
Note
This settings provide high simulation performance with the lowest possible memory usage.
Settings for large number of simulations in parallel (especially useful for smaller simulations)
Set maximum number of simulations to the number of number of physical cores (8 in the present case).
Set number of threads per simulation to 1.
Use “normal” process priority if running on a dedicate machine, or if you are not bothered by the CPU load.
Attention
This settings require much more RAM than when a single simulation is run, as computer will allocate RAM for all simulations at the same time. Also, when writing output, all the simulation may try accessing output directory at the same time, resulting in high disc load. Make sure that your output folder is located on a fast SSD.
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.