Research Group

GEMS: Gpu-based hEterogeneous systeMS

Group Leader: Unmesh D. Bordoloi

GEMS is a research group at the Division of Software and Systems, Department of Computer and Information Sciences, Linköping University.


1 Our Mission

Our long-term goal is to develop the foundations of the system-level optimization tools that will enable engineers to develop complex high performance software on low-power GPU-based heterogeneous embedded platforms. The models and techniques developed by us will also facilitate architecture selection and mapping of software tasks to heterogeneous cores under real-time constraints.


2 Motivation

A few years back, chipmakers realized that it was no longer feasible to continue scaling frequencies to obtain faster processors because of tremendous heat dissipation. Hence, the trend has shifted towards building multi-core multiprocessors and it has propelled the recent push towards developing platforms equipped with heterogeneous cores consisting of Graphical Processing Units (GPUs), Accelerated Processing Units (APUs), apart from conventional CPUs.

Over the span of last decade, researchers have re-engineered sequential algorithms from a wide spectrum of applications in order to harness the inherent parallelism offered by GPUs (Graphics Processing Units) and demonstrated tremendous performance benefits. In fact, brisk successes from early endeavors meant that GPGPU (General Purpose computing on Graphics Processing Units) was established as a specialization on its own. It is not uncommon, nowadays, to find commercial GPGPU applications in electronic design, scientific computing and defense, among others. As GPGPU research has matured, the emerging trend for the future is ``heterogeneous computation'' where multi-cores, GPUs and other units are utilized synergistically to accelerate computationally expensive problems. Heterogeneous computation is well-poised to become the de-facto computational paradigm in the realm of servers and desktops.

Over the last 18 months, programmable GPUs have penetrated embedded platforms providing embedded software designers with a powerful programmable GPU engine. The stage seems to be set for a change as several industrial players already have embedded platforms with low-power GPUs that are programmable. Vivante's embedded graphics cores, ARM's Mali graphics processors, the StemCell Processor from ZiiLabs (Creative) are some examples of low-power embedded GPUs targeted for mobile devices.

We believe that the arrival of embedded GPUs gives us an opportunity to usher in the era of heterogeneous computation for embedded devices as well. Applications to benefit from this include image processing, convolution, pattern matching and others that will be used for the next generation embedded systems like (i) unmanned aerial vehicles, (ii) intelligent cars, (iii) electric scooters, and (iv) wearable devices emerging from the convergence of personal health monitoring devices, smart phones and compact digital cameras. However, these systems involve real-time computing where temporal deadlines must be satisfied. Note that this is different from general-purpose computing where average speedup is the main target. The question has remained open on how to optimize such a low-power GPU-based system so that real-time software can be run in a timely fashion while minimizing energy consumption.


2 Industrial Collaboration

We gratefully acknowledge the support received from our industrial collaborators Vivante and Sony Mobile.

                    Home        Publications        Projects        Service        Teaching