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