-
Notifications
You must be signed in to change notification settings - Fork 46
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
Seeding algorithm #407
Seeding algorithm #407
Conversation
The problem you're facing doesn't come from there but from further upstream. The spacepoint binning isn't working at the moment, as the given kernel launch parameters are not correct. Something about this: Kokkos::parallel_for(
"count_grid_capacities", team_policy(num_blocks, Kokkos::AUTO),
KOKKOS_LAMBDA(const member_type& team_member) {
Kokkos::parallel_for(
Kokkos::TeamThreadRange(team_member, num_threads),
... isn't correct. If you try, for example, printing out the globalIndex of each thread in the kernel you'll notice it gives incorrect values. They should range from 0 to the number of spacepoints instead. PS: Additionally, I suspect you might need to call |
That helps a lot, thanks @guilhermeAlmeida1 |
@Yhatoh Would you rebase or refresh the PR? Looks like that CI is clogged |
Sorry, I didn't saw this comment, yeah I will rebase, so I think I will close this PR for open a new one eventually. Or what do you think will be the best? |
5f2a3f2
to
3cc4e3c
Compare
So, time for some real talk... I spent some quality time with your code today Gabriel, but this is only as far as I got. 😦 By now it does compile the seeding example successfully both with CUDA enabled and not enabled for Kokkos. But the test fails to run in both cases.
I'd really prefer if you could figure out what's going wrong, as I'm getting fed up with Kokkos by now. 😦 With CUDA support in Kokkos enabled, the earliest unit test fails to compile.
It seems that Kokkos lambda kernels can't be put inside of GoogleTest functions. 🤔 But I don't really understand this error to be honest. Notice that I re-wrote the history of your branch! So probably the easiest is if you re-clone your repository to avoid conflicts with your local version of the branch. |
Hi!
Again, I'm sorry for the long time that take us for doing this PR.
This PR consist in all the code necesarry to execute the seeding algorithm in Kokkos for traccc. @storrealbac and me did pretty much the same style of coding as in spacepoint binning. We separe the code in seeding_algorithm in multiple blocks of code that calls Kokkos parallel_for with the respective device functions.
The codes appears to works, but we find a bug in our code that we couldn't solve.
The main problem is that when the seeding finding calls make_prefix_sum_buff, for some reason when we do this:
The result of
make_prefix_sum_buffer
give us a result with total size0
, so we don't know we are using the memory resource in a wrong way or is something else.For this PR, we only using host memory, as we talked about it with @krasznaa while ago.
To give details of what give us this result is with this execution:
./bin/traccc_seeding_example_kokkos --detector_file=tml_detector/trackml-detector.csv --input_directory=tml_full/ttbar_mu40/ --events=10
Cheers,
Gabriel