You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I implemented a version of mGPU SSSP that scales pretty well here: https://github.com/bkj/mgpu_sssp
The goal is to use "lessons learned" from this experiment to inform mGPU APIs for
essentials
:Lessons learned from
mgpu_sssp
indptr
,indices
,data
)distances
)Q: How to do this in
essentials
?advance
, there's some synchronization between GPUs (either through NCCL or throughmemcpy
's)Q: How to do this in
essentials
?A: Probably just another method
communicate
that gets called afterloop
We're using boolean vectors as the frontiers. I'd think this is relatively straightforward, but needs to be done.
For SSSP, MGPU a chunked
for_each
is the most important operator. The pattern looks like this:That seems pretty straightforward to wrap in a user-friendly way.
Beta Was this translation helpful? Give feedback.
All reactions