Skip to content

Surface recon determinism#818

Merged
m-reuter merged 4 commits into
Deep-MI:devfrom
ClePol:surface-determinism-pr
Jul 1, 2026
Merged

Surface recon determinism#818
m-reuter merged 4 commits into
Deep-MI:devfrom
ClePol:surface-determinism-pr

Conversation

@ClePol

@ClePol ClePol commented May 21, 2026

Copy link
Copy Markdown
Member

Summary

This PR contains

  1. An improvement of the surface pipeline setting topo fixer to single thread
  2. Single threading in spherical project

Testing

End-to-end pipeline run before and after changes on 5 cases.

@m-reuter m-reuter marked this pull request as draft May 26, 2026 10:51
@ClePol ClePol force-pushed the surface-determinism-pr branch from 3ba6895 to bdc0277 Compare June 26, 2026 17:09
Comment thread recon_surf/recon-surf.sh Outdated
Co-authored-by: Martin Reuter <m-reuter@users.noreply.github.com>
@m-reuter

m-reuter commented Jul 1, 2026

Copy link
Copy Markdown
Member

my tests:

  • blas on linux gives slightly different outputs depending on the number of threads, so keeping that fixed to one thread is a good idea (also comes at almost no cost as the mesh is relatively small for the solver).
  • the env var about numexpr is dead weight as numexpr is not a dependency here. The others don't hurt to keep.
  • for the topofixer on a more tricky case I found that 1,1-repeat, 2, 4, 8 and 8-repeat, all give identical results if started from the same initial surface. Speed wise you get 15% improvement going from 1 to 4 threads where it plateaus . So I see no reason to fix it to 1 single thread here.

I will modify the PR accordingly and then merge it. What then remains is to test if the full surface pipeline is now deterministic.

Comment thread recon_surf/recon-surf.sh Outdated
Comment thread recon_surf/spherically_project_wrapper.py Outdated
@m-reuter m-reuter marked this pull request as ready for review July 1, 2026 13:42
@m-reuter m-reuter merged commit 96ed742 into Deep-MI:dev Jul 1, 2026
2 of 4 checks passed
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.

2 participants