Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
CLSmith - A random generator of OpenCL C programs.

Christopher Lidbury, Alastair Donaldson, Andrei Lascu, Nathan Chong

Imperial College London, Department of Computing

More information about discussions and where to post bug reports to come.

The OpenCL C part of the generator is largely kept in its own part, leaving
csmith as intact as possible (with some modifications made to allow CLSmith to
inject functionctionality into csmith or to pass control to CLSmith). Keeping
csmith and CLSmith separate turned out to be very tricky and probably not worth
the effort.

Both CLSmith and cl_launcher can be built with the included CMake files:

$ mkdir build
$ cd build
$ cmake ..
$ cmake --build . --config Release -- -j 8

This generates the CLSmith and cl_launcher executables inside the build directory.