Skip to content

feat(ocineb): simplify#332

Merged
HaoZeke merged 7 commits intoTheochemUI:mainfrom
HaoZeke:simplify/ocineb-v2
Apr 19, 2026
Merged

feat(ocineb): simplify#332
HaoZeke merged 7 commits intoTheochemUI:mainfrom
HaoZeke:simplify/ocineb-v2

Conversation

@HaoZeke
Copy link
Copy Markdown
Collaborator

@HaoZeke HaoZeke commented Mar 26, 2026

In response to review requests.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 26, 2026

eOn Documentation Preview

Download: documentation.zip

Unzip and open index.html to view.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 27, 2026

Benchmark Results

Tip

1 benchmark(s) improved

Count
🟢 Improved 1
⚪ Unchanged 7

Improvements

Benchmark Before After Ratio
🟢 bench_eonclient.TimeNEBMorsePt.time_neb 402±0ms 244±0ms 0.61x
7 unchanged benchmark(s)
Benchmark Before After Ratio
bench_eonclient.TimeMinimizationLJCluster.peakmem_minimization_lbfgs 27M 27M ~1x
bench_eonclient.TimeMinimizationLJCluster.time_minimization_lbfgs 23.3±0ms 23.1±0ms ~0.99x
bench_eonclient.TimeNEBMorsePt.peakmem_neb 27M 27M ~1x
bench_eonclient.TimePointMorsePt.peakmem_point_evaluation 27M 27M ~1x
bench_eonclient.TimePointMorsePt.time_point_evaluation 8.15±0ms 7.97±0ms ~0.98x
bench_eonclient.TimeSaddleSearchMorseDimer.peakmem_saddle_search_dimer 27M 27M ~1x
bench_eonclient.TimeSaddleSearchMorseDimer.time_saddle_search_dimer 52.3±0ms 53.0±0ms ~1.01x
Details
  • Base: 024ac652
  • Head: b42f927f
  • Runner: ubuntu-22.04
Raw asv-spyglass output
All benchmarks:

| Change   | Before   | After    |   Ratio | Benchmark (Parameter)                                                  |
|----------|----------|----------|---------|------------------------------------------------------------------------|
|          | 27M      | 27M      |    1    | bench_eonclient.TimeMinimizationLJCluster.peakmem_minimization_lbfgs   |
|          | 23.3±0ms | 23.1±0ms |    0.99 | bench_eonclient.TimeMinimizationLJCluster.time_minimization_lbfgs      |
|          | 27M      | 27M      |    1    | bench_eonclient.TimeNEBMorsePt.peakmem_neb                             |
| -        | 402±0ms  | 244±0ms  |    0.61 | bench_eonclient.TimeNEBMorsePt.time_neb                                |
|          | 27M      | 27M      |    1    | bench_eonclient.TimePointMorsePt.peakmem_point_evaluation              |
|          | 8.15±0ms | 7.97±0ms |    0.98 | bench_eonclient.TimePointMorsePt.time_point_evaluation                 |
|          | 27M      | 27M      |    1    | bench_eonclient.TimeSaddleSearchMorseDimer.peakmem_saddle_search_dimer |
|          | 52.3±0ms | 53.0±0ms |    1.01 | bench_eonclient.TimeSaddleSearchMorseDimer.time_saddle_search_dimer    |

HaoZeke added 5 commits April 18, 2026 12:33
MetatomicPotential:
- forceBatch() for single forward+backward pass across N systems
- Disable JIT profiling for bitwise-identical parallel results
- Per-image potentials only for intermediates, not endpoints

NEB:
- updateForces uses batch path when pot->supportsBatchEvaluation()
- Dimer/ImprovedDimer batch their 2-system evaluations

Matter:
- forcesData() and setComputedPotential() for external result injection
- alpha_tol >= 1/sqrt(2): Householder stability bound
- S = 1: unique linear penalty P(alpha) = 0.5 + 0.5*alpha, B = 0.5
- Warm-start dimer from cached eigenvector
- Remove penalty_strength, penalty_base parameters
- Remove force monotonicity check
- Single user-facing parameter: lambda_rel
Position restore on status=-2 ONLY: when the dimer finds positive
curvature, the CI is at a minimum (not a saddle). Restore to pre-MMF
position and clear warm-start cache. For other failures (alignment
loss, force increase with valid saddle), let the NEB recover
naturally -- the dimer's position may still be useful.

CUDA determinism: strict mode when CUBLAS_WORKSPACE_CONFIG is set,
warn-only otherwise. Prevents ULP-level divergence in vesin neighbor
list matmuls from accumulating over NEB iterations.
@HaoZeke HaoZeke force-pushed the simplify/ocineb-v2 branch from 463c338 to ff18ea9 Compare April 18, 2026 10:34
@HaoZeke HaoZeke force-pushed the simplify/ocineb-v2 branch from 40da651 to 61dadec Compare April 19, 2026 18:26
@HaoZeke HaoZeke merged commit 69d87ab into TheochemUI:main Apr 19, 2026
13 checks passed
@HaoZeke HaoZeke deleted the simplify/ocineb-v2 branch April 19, 2026 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant