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

TF1 Interpolation is back #92

Merged
merged 25 commits into from
Sep 11, 2024
Merged

TF1 Interpolation is back #92

merged 25 commits into from
Sep 11, 2024

Conversation

KSkwarczynski
Copy link
Member

@KSkwarczynski KSkwarczynski commented Aug 27, 2024

Pull request description:

Clarence implemented TF1 interpolation long time ago. It was meant to be low RAM compared with TSpline3. Howeer as discussed here https://github.com/t2k-software/MaCh3/issues/456 it doesn't always work also you could use either TSpline 3 or TF1

This PR is meant to allow to use TSpline3 and TF1 AT THE SAME TIME. It didn't fix aformentioned problems. Thus right now only TF1 allowed linear interpolation.

For CI test merge this: mach3-software/MaCh3Tutorial#4

Changes or fixes:

  • TF1_red and TSpline3 now iherit from TResponseFunction_red
  • Allow to use TF1 and TSplin3 at the same time
  • index is now only used when watning spline weight per spline
  • Added proper header .cuh for Spline monolith
  • Introduce spline mono struct for better code visiblity and enchanced performance (cache hits)

Examples:

Test were done using low stat on low number of dials. In full production impact will be much higher.

LLH:
LLHScan_linear_vs_tf1.pdf
RS_delta is much different becasue I forgot it has more than 2 knots...

also CPU vs GPU
LLHScan_CPU_GPU.pdf

Speed:
TSpline3 vs TF1
StepTimeComparison.pdf
+Struct holding spline mono info
StepTimeComparison.pdf

RAM:
Only TSpline3
image

TSpline3 + TF1
image

That's like 30% RAM decrase

@KSkwarczynski KSkwarczynski self-assigned this Aug 27, 2024
@KSkwarczynski KSkwarczynski added Performance Performance related Enhancement New feature or request labels Sep 4, 2024
@github-actions github-actions bot added the Documentation Improvements or additions to documentation label Sep 9, 2024
@github-actions github-actions bot removed the Documentation Improvements or additions to documentation label Sep 9, 2024
@github-actions github-actions bot added Nu Osc/Xsec Related with neutrino interactions or oscialtions Samples labels Sep 10, 2024
@KSkwarczynski KSkwarczynski merged commit 46f2216 into develop Sep 11, 2024
5 of 8 checks passed
@KSkwarczynski KSkwarczynski deleted the feature_SuperTF1 branch September 11, 2024 09:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request Nu Osc/Xsec Related with neutrino interactions or oscialtions Performance Performance related Samples
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant