Performance
Run times (as reported at the end of disvis.log) with DisVis 3.0.0 and
Python 3.14. CPU runs use pyFFTW unless marked NumPy FFT. GPU runs use VkFFT
(pyvkfft 2025.1.1), the fused GPU kernels and without the progress;
the times before the GPU speed-ups (with VkFFT) are in brackets.
Each run was timed once. The M2 Pro -p 8 and RTX 6000 Ada -g times are
those of the reference results in example-results/.
| Hardware | Mode | PRE5-PUP2 coarse | RNA-pol II coarse | PRE5-PUP2 fine | RNA-pol II fine |
|---|---|---|---|---|---|
| Apple M2 Pro (8+4 cores) | 1 core, NumPy FFT | 1m 2s | 2m 56s | – | – |
| Apple M2 Pro | 1 core | 30s | 1m 31s | – | – |
| Apple M2 Pro | -p 8, NumPy FFT |
14s | 32s | 11m 25s | 47m 28s |
| Apple M2 Pro | -p 8 |
10s | 29s | 10m 4s | 28m 51s |
| AMD EPYC 7451 (2 × 24 cores, full node) | -p 8 |
14s | 59s | 25m 10s | 82m 1s |
| AMD EPYC 7451 | -p 16 |
8s | 51s | 22m 21s | 42m 51s |
| AMD EPYC 7451 | -p 32 |
6s | 1m 12s | 10m 45s | 24m 56s |
| Apple M2 Pro integrated GPU | -g |
6s (18s) | 11s (24s) | 2m 29s (5m 16s) | 7m 27s (17m 53s) |
| NVIDIA GeForce GTX 1080 Ti | -g |
7s (11s) | 8s (14s) | 1m 48s (2m 37s) | 5m 8s (6m 39s) |
| NVIDIA RTX 6000 Ada | -g |
3s (5s) | 3s (5s) | 28s (44s) | 1m 18s (1m 49s) |
| 2015 results (Python 2, unknown hardware) | 16 CPUs | – | – | 27m 5s | 73m 48s |
Notes:
- pyFFTW, installed automatically with DisVis, is about 2× faster than the
NumPy FFT on a single core, and 1.1–1.65× faster with
-p 8. - The GPU gains most on the fine runs: on the short coarse runs, fixed costs (reading the input, building the OpenCL kernels, writing the results) dominate. The RTX 6000 Ada is about 19–23× faster than 32 EPYC cores and 22× faster than 8 M2 Pro cores on the fine runs.
- The GPU speed-ups (no waiting for the GPU after every step, and fused kernels) make the fine runs 1.3–1.6× faster on the NVIDIA GPUs and 2.1–2.4× on the M2 Pro, with the same output.
- VkFFT, which replaced clFFT, was 2.3–3.4× faster on the GTX 1080 Ti fine runs (5m 59s and 22m 46s with clFFT), 1.3–1.4× faster on the RTX 6000 Ada (56s and 2m 31s) and as fast on the M2 Pro.
- The M2 Pro GPU times vary with the load of the machine; these were measured on a moderately busy machine.
- Scaling with
-pis uneven, and short runs gain little from more processes. The EPYC 7451 cores are about 2.7× slower than the M2 Pro performance cores. - The 2015 results predate the 2017 fix of the ligand van der Waals radii.