Enabling a Uniform OpenCL Device View for Heterogeneous Platforms