Optimizing FPGA-based Sparse Coding for Real-time Processing in X-ray Instrumentation
Bibliographic record
Abstract
As detectors improve, large physics experiments generate more data. However, real-time raw data processing near the sensors can be challenging due to the high data velocity and the resource-constrained location. A practical solution involves using low-latency data reduction to lower the incoming throughput. Sparse representations and machine learning are popular methods for data reduction, with the Learned Iterative Shrinkage-Thresholding Algorithm, dubbed LISTA, combining both techniques to produce fast approximations of sparse coding. In previous work, we proposed a multi-stage strategy to compress the data at the edge. We targeted the billion-pixel X-ray camera, an X-ray imaging system with a data rate of 10 TB/s. The compression leverages a LISTA-like architecture followed by quantization and entropy coding, achieving a 100:1 compression ratio with minimal image artifacts. Using high-level synthesis, we fitted the fully connected LISTA on an FPGA. Although the inference time was around 1 μs, the number of parameters per layer of the network was limited, imposing a low input size and restricting the FPGA throughput. In this work, we explore and compare solutions for a larger input size that maintain similar performance. We studied splitting the initial linear layers into smaller ones using low-rank matrix factorization. Preliminary results indicate that the factorization can achieve a 77% increase in the input size, with increased throughput at the cost of added resources. Finally, we discuss the current limitations of the compression strategy and potential improvements moving forward.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame distilled prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.
Codex and Gemma teacher scores by category
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.000 | 0.000 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.000 | 0.000 |
| Science and technology studies | 0.000 | 0.000 |
| Scholarly communication | 0.000 | 0.000 |
| Open science | 0.000 | 0.000 |
| Research integrity | 0.000 | 0.000 |
| Insufficient payload (model declined to judge) | 0.000 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one teacher head, not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".