An implementation of the Kronos WebCL specification