AMD OpenCL programming Guide