Ocelot
GPGPU Compiler Tools
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 . We are actively seeking developers to improve the project.
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 . We are actively seeking developers to improve the project as well.
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 just beginning development at google code . This project is still in the concept phase, but any input would be welcome.