HyperLink   Collaborative Computing for Heterogeneous Integrated Systems
Publication Year:
  Li-Wen Chang, Juan G√≥mez-Luna, Izzat El Hajj, Sitao Huang, Deming Chen, Wen-mei Hwu
  ACM/SPEC International Conference on Performance Engineering (ICPE), 2017

Heterogeneous systems are evolving towards tighter integration among devices for improved performance and reduced energy. In addition to powerful CPUs, systems today typically employ various types of specialized devices such as Graphics Processing Units (GPUs) or Field-Programmable Gate Arrays (FPGAs). In this tight integration, close collaboration among processors becomes crucial for better use of system resources and higher performance, compared to traditional use of GPUs or FPGAs as offload accelerators. Programming interfaces are also rapidly adapting to tightly integrated heterogeneous platforms by introducing emerging features, such as shared virtual memory, memory coherence, and system-wide atomics, making collaborative computing among different devices even more practical. In this paper, we survey the current heterogeneous integrated systems and corresponding techniques. We evaluate collaborative computing on two heterogeneous integrated systems, CPU-GPU and CPU-FPGA, using OpenCL. Finally, we discuss the limitation of OpenCL and envision what suitable programming languages for collaborative computing will look like.