Good opencl structure and type based kernel runner