-
Notifications
You must be signed in to change notification settings - Fork 50
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
De-Template (Host) Track Fitting, main branch (2024.10.28.) #756
Conversation
502fec6
to
145d6e1
Compare
There was a problem hiding this 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..
47a7e27
to
6571488
Compare
6571488
to
9b4ecee
Compare
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. 🤔 |
0b6e301
to
78dce01
Compare
6e3a8a9
to
da27835
Compare
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.
da27835
to
b4c53e0
Compare
Quality Gate passedIssues Measures |
This is the next step in my crusade to make the reconstruction algorithms use non-templated interfaces. 😄
In this I renamed
traccc::fitting_algorithm
totraccc::host::kf_algorithm
, along exactly the same lines as what I did fortraccc::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 GBcpu/throughput_st.cpp
: 700 MBThis PR introduces 3 new source files, and reduces the memory needs of the previous examples like:
kf_algorithm.cpp
: 320 MBkf_algorithm_teldet_cfield.cpp
: 475 MBkf_algorithm_defdet_cfield.cpp
: 650 MBseq_example.cpp
: 1.0 GBcpu/throughput_st.cpp
: 575 MBClearly 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.