786edf99297332962232e3393fa82d852d89a054
Apply smooth-G's corr adjustment on the device (a small kernel: corr[i] *= ratio[frame[i]] for flagged frames, double-then-float, matching host SmoothG) so the per-image corr never leaves the GPU: it now stays resident through scaling -> smooth-G -> per-frame CC -> combine, and across the two space-group passes exactly as the old host round-trip did. The host only builds the tiny per-frame ratio (g/g_smooth via the extracted ComputeSmoothGWindow) and refreshes host partials[].corr solely for the CPU-combine path (JFJOCH_RSM_CPU_COMBINE or the diagnostic dump). This drops the post-scale GetCorr and the two SetCorr re-uploads (~3x25MB/pass) plus the 6.3M host corr-adjust loop: scale-partials ~0.21->~0.10s and the smooth+combine region shrinks, taking RSM on lyso to ~0.91s (was ~1.47s with phase-1-only, ~1.71s full-CPU) - under the 1s target for this crystal; merge+stats (~0.49s) is now the dominant chunk. Bit-identical (GPU smooth-G == host SmoothG on the resident corr); validated across the battery (15/15 deterministic crystals bit-identical to CPU across default / CPU-combine / NO_GPU, only EP_cs_01-24 noise wobbles). Non-CUDA build unaffected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Jungfraujoch
Application to receive data from the PSI JUNGFRAU and EIGER detectors.
All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.
Languages
C++
73.3%
HTML
8.9%
C
7.2%
TypeScript
4.9%
Tcl
2.6%
Other
3%