I'm feeling a bit dense today and it's not obvious to me. Please do tell what that solution is and why it doesn't generalize :).
I'm feeling a bit dense today and it's not obvious to me. Please do tell what that solution is and why it doesn't generalize :).
https://en.wikipedia.org/wiki/Dataflow_architecture
And the reason why it doesn't generalize: it is typically implemented in special purpose hardware.
Perhaps one day the "all advanced processors are really RISC inside" meme will get replaced with "all advanced processors are really dataflow inside".
Of course, there is the option to make the dataflow visible to the outside with the EDGE (explicit data graph execution) architecture (Microsoft even showed Windows running on one).
I found the reference to Windows running on Microsoft's E2 processor (which in turn has links to relevant papers):
https://www.theregister.com/2018/06/18/microsoft_e2_edge_win...
The point is that inside every advanced processor instructions are handled in groups and if you expose that to the compiler you can save transistors and energy.
The insight is that GPUs are memory driven - warps basically wait for memory operations to complete while other warps do stuff - so execution proceeds driven by memory access patterns.