Exploiting Execution Order and Parallelism from Processing Flow Applying Pipeline-Based Programming Method on Manycore Accelerators

Abstract

Many core architecture promotes a massively parallel computing on the accelerators. Especially GPU is one of the main series of the high performance computing, which is also employed by top supercomputers in the world. However, the programming method on such accelerators needs the double programming, in which the programmer needs to develop a control program executed on the CPU side to schedule the invocation of the accelerator's kernel program. Moreover, the programmer needs to consider the stream computing paradigm. To overcome the difficulty, the author of this paper has proposed and implemented a command line-based programming tool called CarSh that eliminates to develop the CPU program from the programmer. Using the CarSh, it is available to implement a GUI-based programming tool for the accelerators that visualizes a pipeline-based processing flow by connecting the kernel programs via the I/O data streams. In the case of applying the GUI-based programming, it is very hard to find the starting point of a complex processing flow. Moreover, although the processing pipeline should include the potential parallelism, it is hard for the programmer to exploit it intuitively. This paper proposes an algorithm that addresses those difficulties, and also evaluates the performance aspect using CarSh environment.

DOI: 10.1109/ICPP.2013.84

13 Figures and Tables

Cite this paper

@article{Yamagiwa2013ExploitingEO, title={Exploiting Execution Order and Parallelism from Processing Flow Applying Pipeline-Based Programming Method on Manycore Accelerators}, author={Shinichi Yamagiwa and Ryo Jozaki and Shixun Zhang and Ryo Zaizen and Dewen Xu}, journal={2013 42nd International Conference on Parallel Processing}, year={2013}, pages={708-717} }