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

Study layout effects on LHCB B2HHH analysis #672

Merged
merged 1 commit into from
Jan 17, 2023

Conversation

bernhardmgruber
Copy link
Member

@bernhardmgruber bernhardmgruber commented Jan 11, 2023

This changeset extends the ROOT LHCB B2HHH analysis example:

  • Parallelize histogram generation
  • Test multiple memory layouts
  • Save histograms to disk
  • Extend benchmark result by mean, stddev, error

@bernhardmgruber bernhardmgruber changed the title Lhcb Study layout effects on LHCB analysis Jan 11, 2023
@codecov
Copy link

codecov bot commented Jan 11, 2023

Codecov Report

Merging #672 (17fd7d3) into develop (17fd7d3) will not change coverage.
The diff coverage is n/a.

❗ Current head 17fd7d3 differs from pull request most recent head aed252c. Consider uploading reports for the commit aed252c to get more accurate results

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #672   +/-   ##
========================================
  Coverage    98.77%   98.77%           
========================================
  Files           74       74           
  Lines         6925     6925           
========================================
  Hits          6840     6840           
  Misses          85       85           

@bernhardmgruber
Copy link
Member Author

bernhardmgruber commented Jan 13, 2023

Here is an animation of the impact of used mantissa bits on the observable:
bitpacked_mantissa_animation
And exponent bits:
bitpacked_exponent_animation

@bernhardmgruber bernhardmgruber changed the title Study layout effects on LHCB analysis Study layout effects on LHCB B2HHH analysis Jan 13, 2023
* Parallelize histogram generation
* Test multiple memory layouts
* Extend benchmark result by mean, stddev, error
* Dump histograms to disk
* Dump layouts to disk
* Dump heatmaps to disk
* Add custom layout fitting access pattern
@bernhardmgruber
Copy link
Member Author

AoS heatmap of first 10000 events:
image

@bernhardmgruber
Copy link
Member Author

AoS layout visualization:
image

image
Where the Custom layout bitpacks H1isMuon/H2isMuon/H3isMuon as AoS, 1 bit each, into a blob of their own, then groups H1ProbK and H2ProbK as AoS in a separate blob, then the rest as AoS in another blob. The Custom layout has been built up gradually using insights obtained via instrumentation and benchmarking.

@bernhardmgruber bernhardmgruber marked this pull request as ready for review January 16, 2023 18:10
@bernhardmgruber
Copy link
Member Author

Data set sizes:
image

@bernhardmgruber bernhardmgruber merged commit 96ad5b8 into alpaka-group:develop Jan 17, 2023
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

Successfully merging this pull request may close these issues.

1 participant