My open-source OpenCL ray-tracer is on github now: https://github.com/owuntu/AtomTraceCL
Currently only support Windows under Visual Studio 2015.
The reason to choose OpenCL over CUDA is majorly because I only have an AMD R9 Nano card. Also, OpenCL support both Intel and AMD CPU so I think OpenCL is compatible with more hardware than CUDA.
Now the renderer support sphere and plane render. Material support lambert and simple microfacet metal, using Torrance-Sparrow model. Not much optimization for GPU yet but I already gain huge performance boost, rendering 1.1 million samples in just about half-hour.
My code has take reference from these places:
Small GPU by David Bucciarelli: http://davibu.interfree.it/opencl/smallptgpu2/smallptGPU2.html
An OpenCL path-tracing tutorial written by Sam Lapere: http://raytracey.blogspot.com.au/2017/01/opencl-path-tracing-tutorial-3-opengl.html