News for hackers. Stuff that matters.
Re:TornadoVM: Running Java on GPUs and FPGAs by lumost on Tuesday March 10, 2020 @12:37AM (#22532756)
I've never understood why modern GPUs don't address the programmability restrictions with a minimal CPU core on die. While one wouldn't choose a GPU for programs best written dynamically or recursively, having to block on the CPU for simple statements seems like an addressable bottleneck.
Re:TornadoVM: Running Java on GPUs and FPGAs by gridlockd on Tuesday March 10, 2020 @04:20AM (#22533681)
GPU programs run fast exactly because programs are written with these limitations in mind. GPUs trade stuff like branch prediction for data parallelism. You can't just have both on the same die and achieve the same throughput.

Using dynamic memory liberally, having lots of indirect branches and non-local memory access - that's pretty bad for performance on the CPU as well, even though it is optimized for that. It's just that people don't notice because they're used to programming that way.

Re:TornadoVM: Running Java on GPUs and FPGAs by kllrnohj on Tuesday March 10, 2020 @02:55AM (#22533340)
> I've never understood why modern GPUs don't address the programmability restrictions with a minimal CPU core on die.

They basically do. There's a minimal "core" that does things like branching and that core manages a bunch of threads that all execute the same instruction in parallel. But there's a lot of those minimal cores still, so transistors spent on it need to be worth it. Spending transistors to make a nicer programming model means fewer transistors spent going faster.

Alternatively the design you're looking for is Intel's Xeon Phi, which died. Intel's Xe looks maybe more traditional GPU in architecture but TBD, it might be less restrictive in this regard. Maybe.