Skip to content

Commit 221af9a

Browse files
author
Johannes Lang
committed
Added memory tracking
1 parent 845fa0e commit 221af9a

29 files changed

Lines changed: 101265 additions & 5145 deletions

‎Overview.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ For build, run, inputs/outputs, and full CLI reference, see `README.md`.
1010

1111
I/O at a glance:
1212
- Preferred format: `data.h5` (HDF5), loaded via a runtime-optional wrapper; automatic fallback to `data.bin` if HDF5 is unavailable at runtime.
13-
- Separate artifacts: `params.txt`, histories (`rvec.txt`, `energy.txt`, `qk0.txt`, and in debug mode `times.txt` with per-step wall-clock runtime), and compressed snapshots (`QK_compressed`, `QR_compressed`, `t1_compressed.txt`).
13+
- Separate artifacts: `params.txt`, histories (`rvec.txt`, `energy.txt`, `qk0.txt`, and in debug mode `step_metrics.txt` with per-step runtime and memory), and compressed snapshots (`QK_compressed`, `QR_compressed`, `t1_compressed.txt`).
1414
- TUI/save telemetry: progress windows for main file [0.10..0.50], params [0.50..0.65], histories [0.65..0.80], compressed [0.80..0.90], with a concise "Save started"/"Save finished: <dir>" message pair.
1515

1616
## Module Map

‎PLAN.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Audience: PhD-level researchers in theoretical physics, mathematics, and CS. Goa
4545
## Concrete tasks and file hooks
4646

4747
1) Logo/Favicon
48-
- Done: `mkdocs.yml` sets `logo:` and `favicon:` to `assets/logo-dmfe.svg`.
48+
- Done: `mkdocs.yml` sets `logo:` and `favicon:` to `assets/icons/icon-dmfe-contrast.svg`.
4949

5050
2) Homepage
5151
- Done: Hero block and figures in `docs/index.md`.

‎README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![Docs](https://img.shields.io/badge/docs-website-blue)](https://dmft-evolution.github.io/DYNAMITE/) [![License](https://img.shields.io/badge/license-Apache--2.0-orange)](LICENSE)
44

5-
DYNAMITE is a CUDA/C++ solver for long-time, non‑stationary dynamics governed by dynamical mean‑field equations. It implements a numerical renormalization scheme based on two‑dimensional interpolation of correlation and response functions, reducing the cost of aging dynamics from cubic to sublinear in simulated time. The code was introduced in “Numerical renormalization of glassy dynamics” (Lang, Sachdev, Diehl; Phys. Rev. Lett. **135**, 27401 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6)), where it reaches time scales orders of magnitude beyond previous methods and resolves a finite‑temperature transition between strongly and weakly ergodicity‑broken glasses in the spherical mixed p‑spin model. While validated on a glassy system, the approach applies broadly to models with overdamped excitations.
5+
DYNAMITE is a CUDA/C++ solver for long-time, non‑stationary dynamics governed by dynamical mean‑field equations. It implements a numerical renormalization scheme based on two‑dimensional interpolation of correlation and response functions, reducing the cost of aging dynamics from cubic to sublinear in simulated time. The code was introduced in “Numerical renormalization of glassy dynamics” (Lang, Sachdev, Diehl; Phys. Rev. Lett. **135**, 247101 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6)), where it reaches time scales orders of magnitude beyond previous methods and resolves a finite‑temperature transition between strongly and weakly ergodicity‑broken glasses in the spherical mixed p‑spin model. While validated on a glassy system, the approach applies broadly to models with overdamped excitations.
66

77
Key features:
88
- GPU‑accelerated kernels with a CPU fallback
@@ -109,7 +109,7 @@ This makes first runs smooth: a plain `./RG-Evo -L 512 ...` will auto-provision
109109

110110
The I/O layer is modular and reports progress via a compact TUI:
111111

112-
- Main writers: `data.h5` when HDF5 is available (runtime-loaded by default) or `data.bin` fallback when not. Parameters go to `params.txt`; histories (`rvec.txt`, `energy.txt`, `qk0.txt`, and when `-D true` the per-step runtime log `times.txt`) and compressed snapshots (`QK_compressed`, `QR_compressed`, `t1_compressed.txt`) are written separately.
112+
- Main writers: `data.h5` when HDF5 is available (runtime-loaded by default) or `data.bin` fallback when not. Parameters go to `params.txt`; histories (`rvec.txt`, `energy.txt`, `qk0.txt`, and when `-D true` the per-step telemetry log `step_metrics.txt`) and compressed snapshots (`QK_compressed`, `QR_compressed`, `t1_compressed.txt`) are written separately.
113113
- Runtime-optional HDF5: the program tries to load system `libhdf5`/`libhdf5_hl` at runtime. It prints which libraries were loaded; if unavailable or an error occurs, it falls back to `data.bin` automatically.
114114
- Save telemetry windows (fraction of the save task): main file [0.10..0.50], params [0.50..0.65], histories [0.65..0.80], compressed [0.80..0.90]. The status line reaches 1.0 when all outputs are complete.
115115
- TUI messages: a "Save started" line is printed (without filename unless `--debug true`) and a final "Save finished: <dir>" line when done. In async mode, the simulation continues while saving in the background.
@@ -135,7 +135,7 @@ Licensed under the Apache License, Version 2.0. See the `LICENSE` file for detai
135135

136136
## Cite
137137

138-
If you use DYNAMITE, please cite the software (see `CITATION.cff` and docs Reference → Cite) and the method paper: J. Lang, S. Sachdev, S. Diehl, Phys. Rev. Lett. **135**, 27401 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6).
138+
If you use DYNAMITE, please cite the software (see `CITATION.cff` and docs Reference → Cite) and the method paper: J. Lang, S. Sachdev, S. Diehl, Phys. Rev. Lett. **135**, 247101 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6).
139139

140140
## Build options
141141

‎RG-Evo‎

8 Bytes
Binary file not shown.

‎RG-Evo-shared‎

8 Bytes
Binary file not shown.
Lines changed: 98 additions & 0 deletions
Loading
350 KB
Binary file not shown.

‎docs/concepts/algorithm.md‎

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# <img class="icon icon-lg icon-primary" src="/DYNAMITE/assets/icons/algorithm.svg" alt="Algorithm icon"/> Algorithm (from Lang–Sachdev–Diehl, Phys. Rev. Lett. **135**, 27401 (2025))
1+
# <img class="icon icon-lg icon-primary" src="/DYNAMITE/assets/icons/algorithm.svg" alt="Algorithm icon"/> Algorithm (from Lang–Sachdev–Diehl, Phys. Rev. Lett. **135**, 247101 (2025))
22

33
This section summarizes the numerical renormalization algorithm implemented in DYNAMITE for solving non-stationary dynamical mean-field equations (DMFT) after a quench.
44

@@ -50,26 +50,32 @@ Time stepping follows the adaptive RK54 default and automatically switches to SS
5050

5151
```mermaid
5252
flowchart TD
53-
start([Start: set initial C, R])
54-
init[Initialize sparse grids<br/>precompute interpolation structures]
55-
propose[Propose Δ<br/>local error control]
56-
interp[Interpolate history<br/>with sparse maps]
57-
eoms[Evaluate EOMs<br/>compute ∂ₜ C, ∂ₜ R]
58-
step[Advance active integrator<br/>RK54 / SSPRK104 / SERK2]
59-
diag[Update diagonal observables<br/>and cached outputs]
53+
start([Start: set initial C, R, μ])
54+
init[Initialize grids<br/>precompute interpolation/integration weights]
55+
propose[Adapt time step]
56+
interp[Interpolate history]
57+
eoms[Evaluate EOMs<br/>compute ∂ₜ C, ∂ₜ R, ∂ₜ μ]
58+
step[Update/Append history]
59+
check{Check error bounds}
60+
back[Roll back]
61+
diag[Update observables]
6062
sparsify_check{Sparsify due?}
61-
sparsify[Sparsify history layers<br/>renormalize grid]
62-
persist[Persist diagnostics<br/>and optional checkpoints]
63-
advance[t = t + Δt]
63+
sparsify[Sparsify history layers<br/>save checkpoint]
6464
continue_check{Reached stop criteria?}
6565
stop([Stop])
6666
67-
start --> init --> propose --> interp --> eoms --> step --> diag --> sparsify_check
68-
sparsify_check -->|Yes| sparsify --> persist
69-
sparsify_check -->|No| persist
70-
persist --> advance --> continue_check
67+
start --> init --> propose --> G1
68+
step --> diag --> check -->|OK| sparsify_check
69+
check --> |not OK| back --> propose
70+
sparsify_check -->|Yes| sparsify --> continue_check
71+
sparsify_check -->|No| continue_check
7172
continue_check -->|No| propose
7273
continue_check -->|Yes| stop
74+
75+
subgraph G1[Runge-Kutta update]
76+
direction LR
77+
interp --> eoms -->step
78+
end
7379
```
7480

7581
## Error control and accuracy
@@ -84,7 +90,7 @@ The nested sparse representation amortizes the cost of memory integrals, leading
8490

8591
## References
8692

87-
- J. Lang, S. Sachdev, M. Diehl, “Numerical renormalization of glassy dynamics,” Phys. Rev. Lett. **135**, 27401 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6).
93+
- J. Lang, S. Sachdev, M. Diehl, “Numerical renormalization of glassy dynamics,” Phys. Rev. Lett. **135**, 247101 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6).
8894

8995
## See also
9096

‎docs/concepts/eoms-and-observables.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ and the spherical constraint fixing µ(t) from C(t,t)=1. The concrete prefactors
1111

1212
- `QKv`, `QRv`: discretized correlation/response on the sparse gridy" src="/DYNAMITE/assets/icons/function.svg" alt="Function icon"/> Equations of motion (current model) and observables
1313

14-
We evolve correlation C(t,t') and response R(t,t') after a quench on the non-equidistant grid. Currently, DYNAMITE has the mixed spherical p-spin equations hardcoded, matching the definitions in Lang–Sachdev–Diehl (Phys. Rev. Lett. **135**, 27401 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6)). Generalization to pluggable models is planned.
14+
We evolve correlation C(t,t') and response R(t,t') after a quench on the non-equidistant grid. Currently, DYNAMITE has the mixed spherical p-spin equations hardcoded, matching the definitions in Lang–Sachdev–Diehl (Phys. Rev. Lett. **135**, 247101 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6)). Generalization to pluggable models is planned.
1515

1616
## Mixed spherical p-spin EOMs (paper definitions)
1717

‎docs/concepts/interpolation-grids.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# <img class="icon icon-lg icon-primary" src="/DYNAMITE/assets/icons/grid.svg" alt="Grid icon"/> Interpolation grids (paper-defined, non‑equidistant)
22

3-
DYNAMITE uses exactly the non‑equidistant, nested time grid defined in Lang–Sachdev–Diehl (Phys. Rev. Lett. **135**, 27401 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6)). The grid is multi‑scale and highly non‑uniform by design to resolve short‑time singular structure and long‑time aging simultaneously. All node locations and quadrature data are precomputed and shipped under `Grid_data/<L>/` for L ∈ {512, 1024, 2048}.
3+
DYNAMITE uses exactly the non‑equidistant, nested time grid defined in Lang–Sachdev–Diehl (Phys. Rev. Lett. **135**, 247101 (2025), [doi:10.1103/z64g-nqs6](https://journals.aps.org/prl/abstract/10.1103/z64g-nqs6)). The grid is multi‑scale and highly non‑uniform by design to resolve short‑time singular structure and long‑time aging simultaneously. All node locations and quadrature data are precomputed and shipped under `Grid_data/<L>/` for L ∈ {512, 1024, 2048}.
44

55
Why this matters: The algorithm’s sublinear scaling depends critically on this grid. Although not extremely sensitive to tiny details, using a highly non‑equidistant grid with nested blocks is essential; equidistant grids defeat the renormalization gains and dramatically increase cost.
66

7-
## Explicit equations (as in Phys. Rev. Lett. **135**, 27401 (2025))
7+
## Explicit equations (as in Phys. Rev. Lett. **135**, 247101 (2025))
88

99
We parametrize the two‑point functions on the triangular domain $t_2 \le t_1$ by the time ratio $\phi = t_2/t_1 \in [0,1]$, i.e.
1010

0 commit comments

Comments
 (0)