
Reconfigurable Hardware for Graphics
What is the role for reconfigurable hardware in the architecture of next-gen GPUs? CGRAs (Coarse Grained Reconfigurable Arrays) have been around for a while. Is there a role for them in the next incarnation of GPUs? Certainly there are plenty of advantages:
- “Shader Cores” as reconfigurable arrays with “configurable” ISAs
- Customizable dataflow from one core to another (this would replace the traditional graphics pipeline and form acyclic graphs)
- Heterogenerous cores (scalar, vector, tensor)
- Specialized memory arrays (Block RAMs, CAMs etc.)
- FPGA fabric “embedded” within the architecture for access to fine-grained hardware level processing and custom datapaths
- A high-level programming language that “automatically” takes advantage of these features to “optimize” your code to run on this hardware
So what do you think of these ideas? Feel free to comment on Slack. Sign up below:

GPU Programming
What are some features of next-gen GPU programming languages that you’d like to see? I am a proponent of “Software designed Hardware”. In this paradigm your software basically “specifies” the ISA that your hardware will execute and your system dynamically generates that ISA on the fly in a reconfigurable (CGRA) hardware fabric. Feel free to comment on this idea.
Subscribe to My Blog
Get new content delivered directly to your inbox.