High level OpenCL implementation
OpenCL has been developed for writing programs that run in parallel. While particularly engineered to take advantage of GPUs (graphics processing units) it still could potentially be used on other architectures such as the multi-core CPUs available in the latest generation of desktop PCs, or over networks of individual machines. While the standard is available at present, no implementation has yet been completed.
This project will investigate the implementation of OpenCL through the reuse of existing technologies. Rather than provide a dedicated OpenCL compiler producing architecture specific parallel code, this project will create a translator for OpenCL programs to existing parallel processing frameworks. This could be as simple as a threads implementation on a PC, or a GPGPU based version using platforms such as CUDA.
 Matthew Royle. High level OpenCL implementation for multi-core CPUs. Technical Report Honours Project Report, Virtual Reality Special Interest Group, Computer Science Department, Rhodes University, Grahamstown, South Africa, November 2009. [PDF] [BibTeX]
 Matthew Royle. Creating a high-level opencl compiler: A literature survey. Technical Report Literature Review, Virtual Reality Special Interest Group, Computer Science Department, Rhodes University, Grahamstown, South Africa, June 2009. [PDF] [BibTeX]
High Level OpenCL Implementation