Heterogeneous computing - Wikipedia, the free encyclopedia