Past Projects

Vanaheimr Photo

Vanaheimr
A Multi-Bulk-Synchronous Parallel Processor

Vanaheimr - An Experimental Execution Model, Compilation Chain, and Hardware Architecture Designed for 2025

Vanaheimr is an aggressive project targeting a high efficiency high performance computing platform. The idea is to create an open hardware architecture, compiler infrastructure, and program representation that enables radical departures from state of the art commercial and academic approaches.

Vanaheimr is available at google code .







Ocelot Photo

Ocelot
A GPU Dynamic Compiler

Ocelot - A Binary Translation Framework for PTX

Ocelot is a project that grew out of a class project for Nate Clark's class on dynamic compilers and runtimes. It is a back-end compiler that starts with NVIDIA's PTX virtual instruction set and dynamically generates and executes code for GPU and CPU architectures. This work was heavily influenced by the MCUDA project done by the IMPACT group at UIUC, the LLVM compiler project, and the CUDA and PTX architectures released by NVIDIA. Our goal is to provide a high performance compilation chain that can dynamically target either a GPU or a CPU depending on dynamically collected profiling information.

Ocelot is released open source under the New BSD License. It is available for download at google code .

Many-Core Photo

Harmony - An Execution Model and Runtime for Heterogeneous Many-Core Systems

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.

Harmony is released open source under the New BSD License. It is available for download at google code .