Update Changelog
- Everything from the intermediate releases 1.3.3, 1.3.5, and 1.3.12.
- Dramatically increased performance of MB-pol 2-body and 3-body PIP evaluation by reducing memory consumption and exploiting SIMD vectorization. (See our preprint: https://chemrxiv.org/doi/full/10.26434/chemrxiv.15005580/v1)
- Improved compatibility with clang standard.
- The kdtree is only used to build the neighbor list above 10,000 atoms.
Performance
Nanoseconds/day simulation throughput achievable for MBX v1.4 on various water box sizes performed on an AMD 9654 Genoa with the Intel C++ compiler. A 0.5 fs timestep and flexible water monomers were used.| Cores | 256 waters | 512 waters | 1024 waters | 2048 waters |
|---|---|---|---|---|
| 4 | 0.726 | 0.341 | 0.172 | 0.083 |
| 8 | 0.978 | 0.504 | 0.255 | 0.128 |
| 16 | 1.327 | 0.736 | 0.396 | 0.193 |
| 32 | 1.548 | 0.921 | 0.516 | 0.266 |
| 64 | 1.557 | 0.980 | 0.555 | 0.302 |
Relative to MBX 1.3.12, performance has been improved by the following amounts:
| Cores | 256 waters | 512 waters | 1024 waters | 2048 waters |
|---|---|---|---|---|
| 4 | 172% | 172% | 179% | 173% |
| 8 | 191% | 201% | 209% | 206% |
| 16 | 205% | 223% | 249% | 241% |
| 32 | 219% | 242% | 276% | 277% |
| 64 | 222% | 249% | 275% | 285% |
Of course, mileage may vary based on system composition and conditions, compiler, hardware, etc.