Related Projects


Harmony is a programming and execution model for systems with at least one CPU and possibly many accelerators. The goal is to hide inter-accelerator parallelism and architecture heterogeneity from the programmer without sacrificing performance. This is done via automatic parallelization of sequential applications using speculative threading and dynamic mapping of work to accelerators. This project is an open source implementation of the Harmony Runtime that can execute an intermediate representation that is meant to be used as a target for a high-level compiler.

Project site

Hybrid Virtual Machines

These Hybrid Virtual Machines will run applications belonging to a wide spectrum comprising of high performance applications like scientific computing, biological simulations etc, enterprise applications like financial processing, data processing etc to client applications like gaming and image processing. Achieving performance guarantees for these applications under the constraints imposed by this workload variability, power, cost and heterogeneity then, requires a re-thinking of the current software stack. To this end, we have undertaken a wide reaching effort at Georgia Tech which evaluates the challenges imposed by the emerging hardware and applications on the entire software stack. We are working on designing and implementing suitable programming models, runtimes, operating system changes and hypervisor changes to prepare software for such future heterogeneous many-core platforms. This effort is a collaboration between different research groups at Georgia Tech and research labs across United States. The project has been split into different components, each addressing a subset of challenges presented by this endeavor. The rest of this page will summarize these efforts and enlist the people involved.

Project site


MacSim is a heterogeneous architecture simulator, which is trace-driven and cycle-level. It thoroughly models architectural behaviors, including detailed pipeline stages, multi-threading, and memory systems. Currently, MacSim support x86 and NVIDIA PTX instruction set architectures (ISA). MacSim is capable of simulating a variety of architecreus, such as Intel’s Sandy Bridge [6] and NVIDIA’s Fermi [9]. It can simulate homogeneous ISA multicore simulations as well as heterogeneous ISA multicore simulations.

MacSim is a microarchitecture simulator that simulates detailed pipeline (in-order and out-of-order) and a memory system including caches, NoC, and memory controllers. It supports, asymmetric multicore configurations (small cores + mediumcores + big cores) and SMT orMT architectures as well.

Currently interconnection network model (based on IRIS) and power model (based on McPat [7]) are connected. ARM ISA support is on-progress. MacSim is also one of the components of SST [12] so multipleMacSimsimulators can run concurrently.

Project site