work towards making an API for OpenCL similar to the CUDA one
ocl api closer to the cuda one