A Data Communication Scheduler for Stream Programs on CPU-GPU Platform
Nat. Lab. for Parallel & Distrib. Process., Nat. Univ. of Defense Technol., Changsha, China
IEEE 10th International Conference on Computer and Information Technology (CIT), 2010, CIT, pp.139-146
@conference{tang2010data,
title={A Data Communication Scheduler for Stream Programs on CPU-GPU Platform},
author={Tang, T. and Xu, X. and Lin, Y.},
booktitle={Computer and Information Technology (CIT), 2010 IEEE 10th International Conference on},
pages={139–146},
year={2010},
organization={IEEE}
}
In recent years, heterogeneous parallel system have become a focus research area in high performance computing field. Generally, in a heterogeneous parallel system, CPU provides the basic computing environment and special purpose accelerator (GPU in this paper) provides high computing performance. However, the overall performance of the system is prone to be limited by the data communication between the CPU and the GPU. Data communication is typically used to synchronize the array on the CPU and the stream (in AMD’s terminology) on the GPU. In many cases, programmers just add data synchronization for each GPU invoking independently. It is easy to program in this manner but much redundant communication may be introduced, which will dramatically degrade the overall performance. To alleviate this problem, based on the stream programming model, we propose a heuristic data communication schedule approach in this paper. By analyzing the state transition of stream/array data pair, relaxing the synchronization strategy conditionally and considering optimization for branch and loop control structure, our approach can significantly reduce the redundant data communication in most cases.
March 25, 2011 by hgpu