4 ms·
So GPGPU is useful for computation intensive/ no branching map reduce of vectors that can be fit into GPU memory. Can we have a smart VM that profiles the code
by venomsnake 11y ago
So GPGPU is useful for computation intensive/ no branching map reduce of vectors that can be fit into GPU memory.
Can we have a smart VM that profiles the code and sees that kind of code and put it on GPU?
- 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?
- sklogic 11y agoSome forms of vectorisation compiler passes (e.g., a polyhedral analysis) can detect such patterns statically. But, so far, they only work reliably in cases where it is equally easy to offload the processing to a GPU manually.