leonarski_fandClaude Opus 4.8 b1cd49c6b5 rugnux: parallelize two-pass rotation first phase
The first pass of two-pass rotation indexing was the slow "getting there" phase.
Profiling RunIndexing showed the cost is the serial Ceres candidate refinement
(up to 4 FFT candidate cells x 2 XtalOptimizer solves each), not spot finding or
the cuFFT kernel.

- XtalOptimizer: add a num_threads arg (default 1) so a caller running a few
  refinements concurrently can give each several cores.
- RotationIndexer::RunIndexing: seed the candidates serially, run their up-to-8
  XtalOptimizer solves concurrently (4 Ceres threads each), select serially in
  candidate order (identical result). ~10-13x on the candidate loop.
- Rugnux: feed both first-pass schemes (spread + wedge) serially, then run their
  RunIndexing() passes in parallel - overlapping one scheme's cuFFT with the
  other's Ceres. Size the FFT indexer pool to 2 for the rotation path (it fires
  only twice) instead of the default 4, avoiding wasted cuFFT-plan init.

First-pass wall 2.1-6.5x faster across a 12-crystal battery; whole lysoC run
17.7->10.5s. All 12 crystals bit-identical (scheme, validation count, space group).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 22:35:54 +02:00
2026-06-23 20:29:49 +02:00
2026-07-11 11:34:11 +02:00
2026-07-03 19:18:56 +02:00
2026-07-11 07:19:11 +02:00
2025-12-04 11:56:14 +01:00
2026-07-11 11:34:11 +02:00
2026-07-03 19:18:56 +02:00
2026-07-11 11:34:11 +02:00
2026-06-23 20:29:49 +02:00
2026-03-26 20:50:33 +01:00
2026-06-23 20:29:49 +02:00
2026-06-23 20:29:49 +02:00
2026-06-25 22:01:48 +02:00
2026-07-11 07:19:11 +02:00
2026-06-13 21:27:41 +02:00
2026-06-23 20:29:49 +02:00
2024-11-22 21:25:20 +01:00
2026-07-11 07:19:11 +02:00
2024-12-02 21:17:14 +01:00
2026-02-18 16:17:21 +01:00
2025-10-25 22:05:47 +02:00
2026-07-03 19:18:56 +02:00
2026-06-23 20:29:49 +02:00
2026-06-23 20:29:49 +02:00
2024-12-02 21:17:14 +01:00
2026-06-23 20:29:49 +02:00
2026-07-03 19:18:56 +02:00
2026-07-11 11:34:11 +02:00

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.

S
Description
Jungfraujoch Data Acquisition System
Readme GPL-3.0
3 GiB
Languages
C++ 73.7%
HTML 8.8%
C 7%
TypeScript 4.8%
Tcl 2.5%
Other 3.1%