Clover Git
OpenCL 1.1 software implementation

OpenCL 1.1 Software Implementation

Clover is a project started in June 2011 as a Google Summer of Code project. Its goal is to provide an Open Source OpenCL implementation usable by everyone wanting to use or develop for OpenCL without having to use proprietary drivers or SDKs (like the Intel's one).

Clover currently only supports running OpenCL programs in software, on the host CPU, but an interface is there to allow future hardware-based execution engines.

This documentation is meant to be a developer focused one. The public OpenCL API is thoroughly documented by the Khronos Group at . What is documented here is the internal architecture of Clover.

Discovering Clover

Clover is a somewhat big project and this section will explain how to get started with the code.


Clover is split in several components:

The following components are also present but currently not documented:

Flow of execution

Discovering and reading a source code may be done in an order close to the "execution flow" of an application using this code. For Clover, it means that it's easier to explore the functions when reading them roughly in the order they get called by a client application.

Here is the recommended order in which to read the functions:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines