Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance considerations related to pixel grouping #33

Open
SimonHeybrock opened this issue Jul 4, 2024 · 0 comments
Open

Performance considerations related to pixel grouping #33

SimonHeybrock opened this issue Jul 4, 2024 · 0 comments

Comments

@SimonHeybrock
Copy link
Member

There is an ongoing discussion about sub-pixel handling (done upstream), resulting in quite large effective pixel counts in the NeXus files (I have seen numbers from 1024^2 to 5000^2 thrown around). At least towards the higher end, I expect that grouping into pixels becomes increasing inefficient (falling out of CPU cache, ...). We may want to avoid doing this automatically when loading, keeping a flat list of events initially. Of course grouping into pixels later on may still be required, but maybe that can be more manageable with more control of resolution.

To keep the list of pixels flat, we obviously would need to have information such as pixel position for each event. Naively, this would also suffer from CPU cache problems, if the list of positions does not fit into, say L3 cache.

Under the assumption that the positions are regular, we could decompose into 1-D x and y vectors, performing 2 small lookups instead of 1 large. We would need to compute x and y pixel indices from the flat pixel ID (div and mod).

This is just a note for the future to keep in mind, in case we indeed experience performance issues. No need to take any action now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant