基于GPU/CPU混合架构的流程序多粒度划分与调度方法研究

被引:4
作者
陈文斌
杨瑞瑞
于俊清
机构
[1] 华中科技大学计算机科学与技术学院
基金
国家重点研发计划;
关键词
混合架构; 数据流编程; 任务划分; 存储优化;
D O I
暂无
中图分类号
TP332 [运算器和控制器(CPU)]; TP311.1 [程序设计];
学科分类号
081201 ; 081202 ; 0835 ;
摘要
数据流编程语言简化了相关领域的编程,很好地把任务计算和数据通信分开,从而使应用程序分别在任务级和数据级均具有可并行性。针对GPU/CPU混合架构中存在的大量数据并行、任务并行和流水线并行等问题,提出并实现了面向GPU/CPU混合架构的数据流程序任务划分方法和多粒度调度策略,包括任务的分类处理、GPU端任务的水平分裂和CPU端离散任务的均衡化,构造了软件流水调度,经过编译优化生成OpenCL的目标代码。任务的分类处理根据数据流程序各个任务的计算特点和任务间的通信量大小,将各任务分配到合适的计算平台上;GPU端任务的水平分裂利用GPU端任务的并行性将其均衡分裂到各个GPU,以避免GPU间高额的通信开销影响程序整体的执行性能;CPU端离散任务的均衡化通过选择合适CPU核,将CPU端各任务均衡分配给各CPU核,以保证负载均衡并提高各CPU核的利用率。实验以多块NVIDIA Tesla C2050、多核CPU为混合架构平台,选取多媒体领域典型的算法作为测试程序,实验结果表明了划分方法和调度策略的有效性。
引用
收藏
页码:15 / 26
页数:12
相关论文
共 5 条
[1]   面向多核集群的数据流程序层次流水线并行优化方法 [J].
于俊清 ;
张维维 ;
陈文斌 ;
涂浩 ;
何云峰 .
计算机学报, 2014, 37 (10) :2071-2083
[2]   COStream:一种面向数据流的编程语言和编译器实现 [J].
张维维 ;
魏海涛 ;
于俊清 ;
李鹤 ;
黎昊 ;
杨秋吉 .
计算机学报, 2013, 36 (10) :1993-2006
[3]  
StreamTMC: Stream compilation for tiled multi-core architectures[J] . Haitao Wei,Mingkang Qin,Weiwei Zhang,Junqing Yu,Dongrui Fan,Guang R. Gao.Journal of Parallel and Distributed Computing . 2012
[4]   Scalable Framework for Mapping Streaming Applications onto Multi-GPU Systems [J].
Huynh, Huynh Phung ;
Hagiescu, Andrei ;
Wong, Weng-Fai ;
Goh, Rick Siow Mong .
ACM SIGPLAN NOTICES, 2012, 47 (08) :1-10
[5]  
Debunking the 100X GPU vs. CPU myth[J] . Victor W. Lee,Changkyu Kim,Jatin Chhugani,Michael Deisher,Daehyun Kim,Anthony D. Nguyen,Nadathur Satish,Mikhail Smelyanskiy,Srinivas Chennupaty,Per Hammarlund,Ronak Singhal,Pradeep Dubey.ACM SIGARCH Computer Architecture News . 2010 (3)