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

Basic geometry tracking on device #39

Merged
merged 6 commits into from
Aug 30, 2020
Merged

Basic geometry tracking on device #39

merged 6 commits into from
Aug 30, 2020

Conversation

sethrj
Copy link
Member

@sethrj sethrj commented Aug 29, 2020

@pcanal I've been trying to work around the lack of on-device initialization by trying to reproduce your anticipated use case for VecGeom, namely initializing states on the host and then copying them over to GPU. The initialization and copying-to-device seems to work, but something's going wrong: it appears that nav_state.Top() is valid but its value for GetLogicalVolume() is NULL.

I can't debug on the Emmet installation of cuda at present (cuda-gdb is explicitly linked against a shared library version of ncurses 5 which doesn't appear to be on our system, only 6) so this was kind of hard to track down, and I'm not sure where to go from here.

Could you please take a look at this branch ASAP? Once we get tracking fully working on the device then let's get @mrguilima 's work rebased on top of it and go from there.

(Prerequisite for #22)

@sethrj sethrj marked this pull request as ready for review August 29, 2020 19:25
@sethrj
Copy link
Member Author

sethrj commented Aug 29, 2020

OK it looks like vecgeom@1.1.7 fails on device. Master seems to work. Can y'all make sure there are no egregious errors in this branch, then we can merge and rebase @mrguilima's branch, where we can fix anything as needed?

@sethrj
Copy link
Member Author

sethrj commented Aug 30, 2020

Thanks @pcanal !

Newer versions of vecgeom provide modern cmake targets.
This will make debugging easier, because failures will show up immediately
after the kernel launch rather than at the next kernel launch.
This is loosely based on the vecgeom-test repository work. The current
implementation is suitable only for straight-line propagation (neutral
particles).

The CUDA test fails because GlobalLocator is not currently implemented
on device.
This is needed because vecgeom::cuda::GlobalLocator is not implemented.
@sethrj sethrj merged commit 22b2f9c into master Aug 30, 2020
@sethrj sethrj deleted the basic-geometry branch August 30, 2020 21:12
@sethrj sethrj mentioned this pull request Sep 2, 2020
@sethrj
Copy link
Member Author

sethrj commented Sep 2, 2020

Superseded #10 and #12

@sethrj sethrj added this to the Y1Q2 Goals milestone Sep 25, 2020
@sethrj sethrj added external Dependencies and framework-oriented features and removed geometry labels Feb 18, 2023
@sethrj sethrj added the enhancement New feature or request label Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request external Dependencies and framework-oriented features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants