9cc8172da585a8980d3dc0e528f0a4cc663f1bae
RotationScaleMerge::Ingest is now IngestHost (read the outcomes, sort, build every host array, smooth the geometry and recompute the partiality) followed by IngestDevice (allocate the GPU's arrays and stage them). The host half reads the outcomes and nothing else, as the post-refinement and the quality guard's merge do, so on the canonical pass it runs on its own thread beside both; the device half runs where the ingest used to, after the guard has handed the GPU back, so the two engines never hold the card at once. The device feed now stages the recomputed partiality in the same slices as every other field, straight from the ingest array, instead of in a pass of its own after the rest; the values on the device are the ones they were. 8a1a, no other load, interleaved runs: the first merge (P1) ends at 10.9 s after the image pass against 11.3 with only the guard overlapped and 12.7 on the rc175 base. p.mtz byte-identical on the gate sets (myob, thau, cytc, kdp, cytc -N 4 / -N 8, --prepass-fraction 1 on four sets, 8a1a, 8tyy, CPU build myob); --model, stills, calibration, --mode scale (GPU and CUDA_VISIBLE_DEVICES="") outputs identical; --no-merge / --mode azint / --write-process-h5 _process.h5 differ only in the datasets that differ base-vs-base (azint sums, bkgEstimate, profiling times, dates, git). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SVmAWnzCmRKAXVUCdc4iNi
Jungfraujoch
Application to receive and analyse data from the PSI JUNGFRAU and EIGER detectors, together with
rugnux, its program for processing stored diffraction data - rotation and serial, macromolecular
and small-molecule - from images to merged reflections.
All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.
Languages
C++
77.9%
HTML
6%
C
4.7%
TypeScript
3.4%
Cuda
3%
Other
4.9%