http://pasteboard.co/GcUDlW4fi.png

In this image, we create 6 GPU tasks that insert commands onto a cuda stream. 
They return a future that will be set ready when the GPU stream event comes in 
(some time later). When the GPU tasks start, the coloured bars look ok, but the 
task themselves take very little time and return a future almost immediately, 
then they start bouncing around and producing millions of tiny strips in the 
task trace.
This is whilst there is no work to be done and the idle queues are looking for 
work and waiting for the GPU futures to be set ready. Then they all abruptly 
stop and "worker thread" (= idle) kicks in. Why does it look like this? why do 
we see all these small bars of task that are not 'real' during this time, the 
CPUs are just waiting for cuda streams to set futures ready. What's going on in 
apex/hpx to cause this effect?

NB. The GPU futures are set ready, but that does not happen until a point in 
time way off to the right of this graph.

Any insights welcome

Thanks

JB



--
John Biddiscombe,                        email:biddisco @.at.@ cscs.ch
http://www.cscs.ch/
CSCS, Swiss National Supercomputing Centre  | Tel:  +41 (91) 610.82.07
Via Trevano 131, 6900 Lugano, Switzerland   | Fax:  +41 (91) 610.82.82

_______________________________________________
hpx-users mailing list
hpx-users@stellar.cct.lsu.edu
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to