Heterogeneous Computing With Opencl by