-
Notifications
You must be signed in to change notification settings - Fork 48
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
GPU Track Fitting #296
GPU Track Fitting #296
Conversation
I am also not sure if I can get rid of .cu implementation and put everything including kernels into the header file |
I will be back after I make detray work with SYCL |
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.
In general I like it. But we'll unfortunately need to find some replacement for the recursive function call(s). At least for SYCL. (But I think CUDA would also benefit from not relying on recursive calls.)
It will be resolved by acts-project/detray#369. There was only one recursive function from |
1f69800
to
b726ee9
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.
With some tremendous delay, let's finally push this in...
56b979f
to
aba0c03
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.
👍
PR acts-project#296 introduces a dependency on some of the covfie targets, but does not actually attempt to load the library (and thus the targets). This commit adds functionality to the build system to do so.
PR acts-project#296 introduces a dependency on some of the covfie targets, but does not actually attempt to load the library (and thus the targets). This commit adds functionality to the build system to do so.
PR acts-project#296 introduces a dependency on some of the covfie targets, but does not actually attempt to load the library (and thus the targets). This commit adds functionality to the build system to do so.
PR acts-project#296 introduces a dependency on some of the covfie targets, but does not actually attempt to load the library (and thus the targets). This commit adds functionality to the build system to do so.
PR acts-project#296 introduces a dependency on some of the covfie targets, but does not actually attempt to load the library (and thus the targets). This commit adds functionality to the build system to do so.
PR acts-project#296 introduces a dependency on some of the covfie targets, but does not actually attempt to load the library (and thus the targets). This commit adds functionality to the build system to do so.
PR acts-project#296 introduces a dependency on some of the covfie targets, but does not actually attempt to load the library (and thus the targets). This commit adds functionality to the build system to do so.
The PR is still in WIP (and depends on #264). I didn't even generalize it for both CUDA and SYCL yet.
But I want to get some advises in advance because I am stuck right now.
The main problem was that I was forced to implement the template classes in the source file:
For example,
traccc::cuda::fitting_algorithm
is declared intraccc/device/cuda/include/traccc/cuda/fitting/fitting_algorithm.hpp
and implemented intraccc/device/cuda/src/fitting/fitting_algorithm.cu
Because
traccc::cuda::fitting_algorithm
is a template class, it was necessary to explicitly instantiate explicitly the class with specific template parameters :/ (See the code below)Instantiating the classes for every detector class is definitely not I want to do. I wonder if there is a workaround for this ?