Optimizer tests
This page shows benchmarks of optimizations done with ASE’s different
optimizers
.
Note that the iteration number (steps) is not the same as the number of force
evaluations. This is because some of the optimizers uses internal line searches
or similar.
The most important performance characteristics of an optimizer is the total optimization time. Different optimizers may perform the same number of steps, but along a different path, so the time spent on calculation of energy/forces may be different due to different convergence of the self-consistent field.
Test systems
These are the test systems (systems.db
):
test-name |
description |
---|---|
H2 |
Hydrogen molecule |
Cu16 |
Shaken bulk copper |
Cu2 |
Distorted Cu(111) surface |
CAu8O |
CO on Au(111) surface |
C5H12 |
Pentane molecule |
CCu8 |
C/Cu(100) |
Al13 |
Alumninum cluster |
EMT calculations
Calculation done with EMT
. Number of steps:
optimizer |
H2 |
Cu16 |
Cu2 |
Au8CO |
Cu8C |
Al13 |
---|---|---|---|---|---|---|
GPMin |
4 |
6 |
11 |
15 |
4 |
17 |
BFGSLineSearch |
7 |
7 |
22 |
25 |
7 |
32 |
GoodOldQuasiNewton |
12 |
10 |
18 |
28 |
10 |
33 |
BFGS |
9 |
15 |
25 |
41 |
12 |
55 |
SciPyFminBFGS |
5 |
16 |
29 |
44 |
15 |
60 |
ODE12r |
11 |
16 |
35 |
47 |
21 |
45 |
SciPyFminCG |
11 |
18 |
35 |
68 |
18 |
55 |
FIRE2 |
23 |
25 |
42 |
45 |
28 |
43 |
FIRE |
30 |
40 |
64 |
52 |
31 |
48 |
LBFGSLineSearch |
8 |
17 |
48 |
14 |
58 |
|
LBFGS |
15 |
25 |
41 |
12 |
55 |
|
MDMin |
10 |
20 |
69 |
11 |
39 |
|
PreconLBFGS |
12 |
22 |
61 |
14 |
59 |
|
PreconFIRE |
25 |
91 |
GPAW-LCAO calculations
Parameters:
GPAW(mode='lcao',
basis='dzp',
kpts={'density': 2.0})
Absolute time relative to fastest optimizer:
optimizer |
H2 |
Cu16 |
Cu2 |
Au8CO |
C5H12 |
Cu8C |
Al13 |
---|---|---|---|---|---|---|---|
GPMin |
1.0 |
1.0 |
1.0 |
1.0 |
1.7 |
1.1 |
1.0 |
GoodOldQuasiNewton |
1.8 |
1.9 |
1.9 |
1.0 |
1.1 |
1.1 |
1.3 |
BFGSLineSearch |
1.3 |
1.0 |
1.9 |
1.1 |
3.0 |
1.0 |
1.2 |
SciPyFminBFGS |
1.1 |
2.1 |
2.5 |
1.3 |
1.0 |
1.6 |
1.9 |
BFGS |
1.6 |
2.0 |
2.1 |
1.6 |
1.0 |
1.5 |
1.9 |
LBFGSLineSearch |
1.5 |
2.6 |
2.4 |
1.5 |
1.2 |
1.5 |
2.4 |
SciPyFminCG |
1.8 |
2.3 |
2.6 |
2.0 |
2.1 |
2.0 |
1.9 |
FIRE2 |
2.2 |
3.6 |
3.3 |
2.0 |
1.6 |
2.5 |
2.0 |
PreconLBFGS |
2.0 |
2.6 |
4.1 |
2.0 |
3.9 |
3.2 |
1.8 |
ODE12r |
2.0 |
2.0 |
2.5 |
1.4 |
2.4 |
1.7 |
|
MDMin |
1.6 |
1.6 |
1.9 |
4.0 |
1.4 |
1.7 |
|
FIRE |
2.5 |
5.3 |
4.1 |
3.0 |
2.9 |
1.9 |
|
LBFGS |
2.0 |
2.1 |
1.1 |
1.5 |
2.0 |
||
PreconFIRE |
5.4 |
4.8 |