Files
Jungfraujoch/docs
jungfrauandClaude Opus 5 0cca6945e2 Find the first pass's spots on every worker
The first pass built one analysis engine and walked its candidate frames through it serially, while
the main image loop had been giving an engine to each of its workers all along. On a 16 Mpx dataset
that phase was 21% of the run on one thread and one card.

A frame's spots are a pure function of that frame and the settings - the engine carries nothing
from one image to the next, which is exactly why the main loop can hand one to every worker - so
the search parallelises without changing anything it finds. Each worker keeps its engine for the
whole pass and takes a card by index, so an engine always meets the card it was built on, and the
engines are released before the main loop builds its own; the peak is no higher than the main loop
already reaches.

Results land in a slot indexed by position and are inserted into the cache afterwards by the owning
thread, and the feed loop still walks ordinals in order and still stops on the same condition. So
neither a frame's spots nor the set of frames the indexer sees depends on how the workers
interleaved: the lattice picked is the same one, on the same frames.

Ported from 2608-performance with its two unrelated riders - the flag_strong quad read and the
beam-stop shard allocation - split into commits of their own.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011n8riB6X59oRjkrSHzNPAU
2026-08-23 08:30:43 -04:00
..
2026-08-13 17:03:10 +02:00
2026-08-22 18:35:47 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2025-04-14 11:52:06 +02:00
2024-11-22 21:25:20 +01:00
2026-02-18 16:17:21 +01:00
2025-06-24 16:43:47 +02:00
2024-11-17 14:55:09 +01:00
2026-08-13 17:03:10 +02:00
2024-11-17 14:55:09 +01:00
2026-07-19 09:39:28 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2025-11-28 12:47:35 +01:00
2026-06-23 20:29:49 +02:00
2026-07-11 07:19:11 +02:00
2024-12-02 21:17:14 +01:00
2024-12-02 21:17:14 +01:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2024-11-22 21:25:20 +01:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2024-11-17 14:55:09 +01:00
2024-11-22 21:25:20 +01:00