Skip to main content
9 events
when toggle format what by license comment
May 23, 2017 at 12:35 history edited CommunityBot
replaced http://stackoverflow.com/ with https://stackoverflow.com/
Aug 11, 2015 at 1:20 comment added jvriesem @Pedro: True, but branching in general does hurt performance. For high-performance codes (what GPU code isn't?), it is almost essential to take that into account.
May 27, 2013 at 15:42 history edited Max Hutchinson CC BY-SA 3.0
small improvements to language and added links
Jan 23, 2012 at 23:33 comment added Pedro @VioletGiraffe, that's not necessarily true. In CUDA (i.e. on Nvidia GPUs), branch divergence only affects the current warp, which is at most 32 threads. Different warps, although executing the same code, are not synchronous unless explicitly synchronized (e.g. with __synchtreads()).
Jan 23, 2012 at 20:51 vote accept Fomite
Jan 23, 2012 at 20:51 vote accept Fomite
Jan 23, 2012 at 20:51
Jan 23, 2012 at 14:13 comment added Violet Giraffe I'd like to specifically add branches to the list of GPU performance breakers. You want all your (hundreds) execute the same instruction (as in SIMD) to perform truly parallel computation. For example, on AMD cards if any of the instruction flows encounters a branch and must diverge - all the wavefront (parallel group) diverges. If another units from the wavefront must not diverge - they must perform a second pass. That's what maxhutch means by predictability, I guess.
Jan 23, 2012 at 11:18 comment added leftaroundabout Still, GPU solutions for those "unpredictable" problems are possible and, while nowadays not typically feasible, may gain significance in the future.
Jan 23, 2012 at 6:04 history answered Max Hutchinson CC BY-SA 3.0