leonarski_f and Claude Opus 5.5
d5bf32763f
rotation merge: the resident ingest smooths the geometry on the card (last-bit change)
...
The rest of the resident ingest moves to the card: the delta_phi re-solve against each
frame's smoothed lattice, the one exact-Bragg angle per rocking event, the partiality
recomputed from the smoothed mosaicity (with corr brought to it) and the histogram of the
frames an event spans. The host keeps the per-frame work (the smoothed lattices, the
mosaicity window) and reads back only corr; nothing per observation crosses back, and the
host arrays the smoothing worked on are no longer built on this path.
The integer work is the host's to the bit (the event-span histogram). The floating-point
work differs in the last bits: every rounding on the card is explicit (no contraction, so
the same bits on any GPU), the host's compiler fuses some of the same products into sums,
and erf/atan2 come from the CUDA library. This is the one place in the lever where results
change; see the hand-back report for the sets and metrics it moves.
Measured on 7qij (main engine, 78 M reflections): the whole ingest 6.5 s host + 1.3 s device
before this lever -> 2.9 s, of which 2.4 s is the upload (memory-bound, beside the
post-refinement gather) and 0.25 s this smoothing. Same space group, error model,
resolution and reflection count; IMEAN differs at the 1e-7 level except on near-zero
intensities.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01EizBKhTqrAYago9KJG3dA3
2026-10-12 22:46:16 +02:00
..
2026-08-13 17:03:10 +02:00
2026-09-29 15:57:32 +02:00
2026-07-19 09:39:28 +02:00
2026-10-08 10:56:34 +02:00
2026-10-08 10:56:34 +02:00
2026-10-08 10:56:34 +02:00
2025-05-05 19:32:22 +02:00
2026-09-29 15:57:32 +02:00
2026-10-08 12:33:34 +02:00
2026-09-02 21:17:31 +02:00
2026-10-11 02:21:32 +02:00
2026-04-29 09:50:50 +02:00
2026-09-29 15:57:32 +02:00
2026-10-09 21:18:12 +02:00
2026-10-07 14:05:37 +02:00
2026-09-15 17:09:31 +02:00
2026-09-15 17:09:31 +02:00
2026-10-06 14:03:18 +02:00
2026-09-29 15:57:32 +02:00
2026-10-06 14:03:18 +02:00
2026-10-11 13:01:23 +02:00
2026-10-06 14:03:18 +02:00
2026-10-06 14:03:18 +02:00
2026-10-08 17:03:09 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2026-10-08 06:46:28 +02:00
2026-09-02 21:17:31 +02:00
2026-09-29 15:57:32 +02:00
2026-05-28 18:48:35 +02:00
2025-05-05 19:32:22 +02:00
2026-10-12 22:38:25 +02:00
2025-06-10 18:14:04 +02:00
2026-10-06 14:03:18 +02:00
2026-09-02 21:17:31 +02:00
2026-09-29 15:57:32 +02:00
2026-10-10 18:56:00 +02:00
2026-10-11 16:39:43 +02:00
2026-10-08 22:53:01 +02:00
2025-11-19 09:40:50 +01:00
2026-04-29 09:50:50 +02:00
2026-08-25 08:21:39 +02:00
2026-09-02 21:17:31 +02:00
2026-09-22 06:48:37 +02:00
2026-09-02 21:17:31 +02:00
2026-09-02 21:17:31 +02:00
2026-08-13 17:03:10 +02:00
2026-05-08 11:39:51 +02:00
2024-11-22 21:25:20 +01:00
2025-10-20 20:43:44 +02:00
2025-04-14 11:52:06 +02:00
2025-11-09 12:42:27 +01:00
2025-09-08 20:28:59 +02:00
2025-09-08 20:28:59 +02:00
2025-03-24 12:16:33 +01:00
2026-09-22 06:48:37 +02:00
2026-10-06 14:03:18 +02:00
2025-06-18 15:19:18 +02:00
2026-09-02 21:17:31 +02:00
2026-09-09 07:25:13 +02:00
2025-12-12 21:24:20 +01:00
2026-02-01 13:29:33 +01:00
2026-10-12 08:11:05 +02:00
2026-03-03 22:24:44 +01:00
2025-11-19 09:40:50 +01:00
2026-08-25 08:21:39 +02:00
2026-09-29 15:57:32 +02:00
2026-08-13 17:03:10 +02:00
2026-10-10 10:47:55 +02:00
2025-05-05 19:32:22 +02:00
2024-11-22 21:25:20 +01:00
2026-08-25 08:21:39 +02:00
2026-10-09 21:15:01 +02:00
2026-06-15 20:24:15 +02:00
2026-09-29 15:57:32 +02:00
2026-06-23 20:29:49 +02:00
2026-07-19 09:39:28 +02:00
2026-09-15 17:09:31 +02:00
2024-11-22 21:25:20 +01:00
2026-09-29 15:57:32 +02:00
2026-06-23 20:29:49 +02:00
2026-09-29 15:57:32 +02:00
2026-09-09 07:25:13 +02:00
2026-10-08 17:03:09 +02:00
2026-09-29 15:57:32 +02:00
2026-09-29 15:57:32 +02:00
2024-11-22 21:25:20 +01:00
2026-10-11 02:21:32 +02:00
2026-10-09 12:38:37 +02:00
2026-10-07 14:05:37 +02:00
2026-10-10 20:47:04 +02:00
2026-10-11 21:30:34 +02:00
2024-12-04 20:58:51 +01:00
2026-10-12 19:30:22 +02:00
2025-03-02 13:15:28 +01:00
2026-06-08 08:30:35 +02:00
2026-08-25 08:21:39 +02:00
2026-10-08 07:27:25 +02:00
2026-10-11 09:27:32 +02:00
2025-11-09 12:42:27 +01:00
2026-08-13 17:03:10 +02:00
2026-09-29 15:57:32 +02:00
2026-10-11 07:12:05 +02:00
2026-08-27 22:16:54 +02:00
2024-11-22 21:25:20 +01:00
2025-11-09 12:42:27 +01:00
2025-10-01 22:54:40 +02:00
2026-10-10 13:35:49 +02:00
2026-09-02 21:17:31 +02:00
2026-10-11 21:30:34 +02:00
2026-09-22 06:48:37 +02:00
2026-09-02 21:17:31 +02:00
2026-06-23 20:29:49 +02:00
2026-06-23 20:29:49 +02:00
2026-06-23 20:29:49 +02:00
2026-10-10 18:56:00 +02:00
2026-10-12 22:46:16 +02:00
2026-10-10 09:33:34 +02:00
2026-09-29 15:57:32 +02:00
2026-10-10 15:18:14 +02:00
2026-10-09 21:42:33 +02:00
2026-09-15 17:09:31 +02:00
2026-10-12 08:11:05 +02:00
2026-09-29 15:57:32 +02:00
2026-09-09 07:25:13 +02:00
2026-10-07 14:05:37 +02:00
2026-08-13 17:03:10 +02:00
2026-10-06 14:03:18 +02:00
2026-10-12 16:11:14 +02:00
2026-09-29 15:57:32 +02:00
2026-03-02 15:57:12 +01:00
2026-10-08 14:55:56 +02:00
2026-09-02 21:17:31 +02:00
2026-09-29 15:57:32 +02:00
2026-08-13 17:03:10 +02:00
2026-10-10 21:11:09 +02:00
2026-06-23 20:29:49 +02:00
2026-04-16 11:59:59 +02:00
2026-06-23 20:29:49 +02:00
2025-11-02 13:45:57 +01:00
2025-12-12 21:24:20 +01:00
2026-09-22 06:48:37 +02:00
2026-10-09 19:40:22 +02:00
2026-05-28 18:48:35 +02:00
2026-10-08 07:07:32 +02:00
2026-10-09 18:51:56 +02:00
2026-10-08 12:36:40 +02:00
2026-09-02 21:17:31 +02:00
2026-10-06 14:03:18 +02:00
2026-10-06 14:03:18 +02:00
2026-09-15 17:09:31 +02:00
2026-03-26 20:50:33 +01:00
2024-11-22 21:25:20 +01:00
2026-09-29 15:57:32 +02:00