CLsmith is a tool used to find OpenCL compiler bugs. By generating random kernels, we can apply Random Differential Testing (RDT) to find compilers that misbehave. It is supported by emibench, which uses Equivalence Module Inputs (EMI) as its testing method. In order to find out how to get and use the two tools, visit their respective pages.
For more details about this work, read our PLDI paper.