General Purpose Computation on Graphics Processing Units Using OpenCL