4 ms·
> So GPGPU is useful for computation intensive/ no branching map reduce of vectors that can be fit into GPU memory. Modern GPUs can do full dynamic branching a
by exDM69 11y ago
> So GPGPU is useful for computation intensive/ no branching map reduce of vectors that can be fit into GPU memory.
Modern GPUs can do full dynamic branching and process data structures that aren't flat (ie. vectors/matrices). It's not restricted to such simple tasks any more.
I don't think we'll ever have VMs that are smart enough to do decisions like this better than an engineer can. Or even close. What we really need is smart engineers who better understand what the technology is suitable for and can make good decisions on when to employ it.
- michaelt 11y agoThat's interesting to hear! I took the udacity CUDA course a few years ago, and at that time they were very keen on memory access coalescing, and if a warp had two control paths they were executed sequentially. As such I didn't think I could figure out how to make use of it for my applications (merging sorted lists of integers, dijkstra's algorithm etc) as typically you're branching and jumping around memory all over the place. Can you suggest anywhere I can learn about these advances that mean the same rules don't apply?