Buncha dry students here giving you shit. It is not a stupid question.
Some day we might not need a cpu. The biggest hurdle probably isn’t actually even the chip architecture, but that the software needs to be remade and it’s not something you do in a day exactly
Right, GPGPU is a thing. You can do branch logic on GPU and you can do SIMD on a CPU. But in general, logic and compute have some orthogonal requirements which means you end up with divergent designs if you start optimizing in either direction.
This is also a software architecture and conceptual problem as well. You simply can’t do conditional SIMD. You can compute both graphs in parallel and “branch” when the tasks join (which is a form of speculative execution), but that’s rarely more efficient than defining and dispatching compute tasks on demand when you get to the edges of the performance curve.
Buncha dry students here giving you shit. It is not a stupid question.
Some day we might not need a cpu. The biggest hurdle probably isn’t actually even the chip architecture, but that the software needs to be remade and it’s not something you do in a day exactly
Right, GPGPU is a thing. You can do branch logic on GPU and you can do SIMD on a CPU. But in general, logic and compute have some orthogonal requirements which means you end up with divergent designs if you start optimizing in either direction.
This is also a software architecture and conceptual problem as well. You simply can’t do conditional SIMD. You can compute both graphs in parallel and “branch” when the tasks join (which is a form of speculative execution), but that’s rarely more efficient than defining and dispatching compute tasks on demand when you get to the edges of the performance curve.