Graphics Hardware Research

With billions of users, mobile SoCs are the most ubiquitous computing platforms. However, there is a need in academia for architecture research tools to study them. SoCs have become increasingly more heterogeneous and complex, where a typical SoC system can include CPUs, GPUs, image processors, video encoders/decoders, digital signal processors (DSPs) and 2D engines among others.

Architecture research tools have not kept pace with recent advancements in SoC research. Research tools focus on CPU multi-core systems, and lack support for other specialized IP cores like GPUs and DSPs. These IP cores typically share the same main memory (DRAM) with general purpose CPU processors, opening the door to a plethora of possible interactions. Thus, going forward, it is crucial to future architecture research to consider system-wide interactions to optimize for emerging workloads.

This research developed Emerald, the first publicly available simulator that models heterogeneous mobile SoC systems in sufficient detail to enable high quality hardware architecture research. One of Emerald's main differentiators is support for detailed timing of modern GPU cores running OpenGL graphics workloads. Moreover, gem5-graphics will be extensible so that architecture researchers can add IP accelerators to study their impact upon system performance and energy consumption. We are currently exploring IP blocks for accelerating augmented reality.

This research has received support from a variety of sources including an NSERC Collaborative Research Grant with Qualcomm, a Google Faculty Research Award, gift funding from Activision and most recently a large grant from Huawei to support research on raytracing support on GPUs.

The source code for Emerald can be found here.

Publications

Ayub Gubran, Tor M. Aamodt, Emerald: Graphics Modeling for SoC Systems, In proceedings of the ACM/IEEE International Symposium on Computer Architecture (ISCA'19), pp. 169-182, Phoenix, Arizona, June 22-26, 2019.