My research interest is in Computer Architecture in general. As we are approaching the end of Moore's law (with Dennard scalaing already stopped) at the hardware side, and the move to parallel programming, before we are totally ready for it, we have many challenges to deal with.
How to parallelize irregular applications on heterogeneous systems? This requires not only algorithmic effort and programming work, but also making the hardware and software play well together. For instance:
Architecture of Heterogeneous Systems and the road to exascale
Multicore processors become more heterogeneous: cores of different capabilities, GPUs, and recently even FPGAs. This offers many opportunities, yet present many challenges.
In this research, we try to answer the questions such as:
AI Support for Architecture
A lot of groups are working on hardware support for AI, such as neuromorphic chips, which is very much needed. In this project, we do the other way around.
Can AI, more specifically machine learning, help the hardwrae reaching better performance and more efficient execution?
Can the execution of one program make the execution of a different program more efficient? This is what we try to do in this project.