ISSN 1000-1239 CN 11-1777/TP

Journal of Computer Research and Development ›› 2017, Vol. 54 ›› Issue (4): 804-812.doi: 10.7544/issn1000-1239.2017.20151059

Previous Articles     Next Articles

Extending Global Arrays on Heterogeneous System

Cheng Peng, Lu Yutong, Gao Tao, Wang Chenxu   

  1. (State Key Laboratory of High Performance Computing (National University of Defense Technology), Changsha 410073) (College of Computer, National University of Defense Technology, Changsha 410073)
  • Online:2017-04-01

Abstract: The increasing requirement for computational performance has led to the rapid development of heterogeneous computing.However,heterogeneous programming is more complicated since there is no shared memory between CPU and accelerators.Besides,programmers must distinguish the local or remote access of data and transmit the data between computing devices explicitly.Global arrays (GA) can provide an asynchronous one-sided,shared memory programming environment for distributed memory systems,but creating an efficient and scalable implementation of GA for a new system is a challenge because of the sophistication of communication library inside GA.In this paper,we present CoGA,the extension of GA on heterogeneous systems consist of CPU and Intel many integrated core (MIC).CoGA,which is built on the top of symmetric communication interface (SCIF),can provide a shared memory abstraction between CPU and MIC, and simplify the programming by allowing programmers to access the shared data regardless where the referenced data is located.Furthermore,CoGA takes advantage of SCIF remote memory access and optimizes the data transmission performance between CPU and MIC.The evaluation on data transmission bandwidth,communication latency and sparse-matrix vector multiplication problem proves that CoGA is practical and effective.

Key words: many integrated core (MIC), global arrays (GA), symmetric communication interface (SCIF), heterogeneous computing, programming model

CLC Number: