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

De-Template (Host) Track Fitting, main branch (2024.10.28.) #756

Merged

Conversation

krasznaa
Copy link
Member

This is the next step in my crusade to make the reconstruction algorithms use non-templated interfaces. 😄

In this I renamed traccc::fitting_algorithm to traccc::host::kf_algorithm, along exactly the same lines as what I did for traccc::host::ckf_algorithm in #722.

As before, one important aspect of this is to get the memory needs of the build under control. In the current main branch we use the following amounts of memory for compiling a few representative source files:

  • seq_example.cpp: 1.4 GB
  • cpu/throughput_st.cpp: 700 MB

This PR introduces 3 new source files, and reduces the memory needs of the previous examples like:

  • kf_algorithm.cpp: 320 MB
  • kf_algorithm_teldet_cfield.cpp: 475 MB
  • kf_algorithm_defdet_cfield.cpp: 650 MB
  • seq_example.cpp: 1.0 GB
  • cpu/throughput_st.cpp: 575 MB

Clearly this is not the end of the road yet, but I'm fairly happy with what the PR does for the build's memory usage.

@krasznaa krasznaa added build This relates to the build system cpu Changes related to CPU code labels Oct 28, 2024
@krasznaa krasznaa force-pushed the DeTemplateTrackFitting-main-20241024 branch 2 times, most recently from 502fec6 to 145d6e1 Compare October 28, 2024 20:00
Copy link
Contributor

@beomki-yeo beomki-yeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some naming issues that concern me..

core/include/traccc/fitting/kf_algorithm.hpp Outdated Show resolved Hide resolved
core/src/fitting/kf_algorithm_defdet_cfield.cpp Outdated Show resolved Hide resolved
@krasznaa krasznaa force-pushed the DeTemplateTrackFitting-main-20241024 branch 3 times, most recently from 47a7e27 to 6571488 Compare October 31, 2024 13:20
@krasznaa krasznaa force-pushed the DeTemplateTrackFitting-main-20241024 branch from 6571488 to 9b4ecee Compare November 1, 2024 14:28
@krasznaa
Copy link
Member Author

krasznaa commented Nov 4, 2024

Please have a look @paulgessinger. I now still have a specific algorithm interface for performing the fitting "in specific ways", but also expose the template code that would allow clients to do different things as well if they so wished.

I think this design could be extended to the device code as well. 🤔

@krasznaa krasznaa force-pushed the DeTemplateTrackFitting-main-20241024 branch from 0b6e301 to 78dce01 Compare November 9, 2024 10:28
@krasznaa krasznaa force-pushed the DeTemplateTrackFitting-main-20241024 branch 3 times, most recently from 6e3a8a9 to da27835 Compare November 12, 2024 14:32
It is a replacement for traccc::fitting_algorithm, without a templated API.
Updating all users to use traccc::host::kf_algorithm instread.
This way clients can have access to the full details of the
code if they want to, while also getting algorithms that would
perform fitting in one very specific way.
@krasznaa krasznaa force-pushed the DeTemplateTrackFitting-main-20241024 branch from da27835 to b4c53e0 Compare November 13, 2024 08:09
Copy link

sonarcloud bot commented Nov 13, 2024

@stephenswat stephenswat merged commit b1f8b5c into acts-project:main Nov 13, 2024
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build This relates to the build system cpu Changes related to CPU code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants