Skip to content

Hyrex runs on CPU!#27

Merged
TonyZhou729 merged 14 commits into
mainfrom
hyrex
May 15, 2026
Merged

Hyrex runs on CPU!#27
TonyZhou729 merged 14 commits into
mainfrom
hyrex

Conversation

@cgiovanetti

@cgiovanetti cgiovanetti commented May 13, 2026

Copy link
Copy Markdown
Collaborator

Big refactor of the background calculation to fix #2. Now it happens in 3 steps:

  1. compute H, T, nH, etc--smooth background needed for HyRex. Can occur on GPU if one is available.
  2. compute recombination history with HyRex, pinned to CPU
  3. integrate conformal time, visibility, etc. with pre-recombination background inheritance + HyRex output. New Background module has everything the old one did so we don't need to propagate downstream.

I see a ~2s speedup on the Perlmutter A100s.

In addition this fixes #25, by adding a new specs parameter that controls the relevant VeryChord tolerance. If the user requests reverseAD with checkpointing, this parameter is automatically adjusted.

@cgiovanetti cgiovanetti requested a review from TonyZhou729 May 13, 2026 00:02
@TonyZhou729 TonyZhou729 merged commit ba9a436 into main May 15, 2026
1 check passed
@cgiovanetti cgiovanetti deleted the hyrex branch May 15, 2026 18:36
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.

Reverse AD still fails with lensing=True HyRex should run on CPU

2 participants