面向异构平台的典型编程模型分析与扩展

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:evaxiang
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在高性能计算领域,计算机体系结构向异构多核的方向发展。针对异构多核平台进行编程面临新的挑战,主要表现在两方面:一方面是针对异构平台编写的程序的可移植性问题;另一方面是能否简单地对异构平台的CPU和GPU同时进行编程并且保持程序的可移植性。目前很多编程模型比如CUDA、StreamIt、StreamC/KernelC、CellSs等都是针对特定的处理平台进行编程的,使用它们编写的程序移植性差。本课题选择了OpenCL和Sequoia两个典型的并行编程模型进行了分析与扩展。OpenCL是一个跨平台标准,目前很多处理器厂商都支持OpenCL,OpenCL程序具有很好的功能移植性。Sequoia模型是一个面向存储层次进行编程的并行编程模型,Sequoia编程模型将与目标平台体系结构相关的信息与描述算法的源程序相分离,使得Sequoia程序同样具有很好的移植性。本文介绍了本人参与课题组研究的虚拟混合计算设备(VHCD)框架,并且对VHCD运行时进行了测试分析,实验结果表明在VHCD运行时的支持下,程序员在对异构平台的多个GPU编程时,可以将多个GPU看做单个OpenCL设备进行编程,最后取得了很好的性能,但是在对异构平台的CPU和GPU同时进行编程时,实际的性能与理想性能相差很大。本文通过对OpenCL性能移植性的测试与分析,发现由于CPU和GPU体系结构的差异,导致针对单个OpenCL设备编写的OpenCL代码在CPU和GPU上不可能同时取得很好的性能。所以OpenCL程序的优化是平台相关的,针对现有大部分OpenCL程序都是针对GPU优化的,本文研究提出了三种将面向GPU优化的OpenCL代码转化为面向CPU优化的技术,并且使用这三种技术对现有几个面向GPU优化的benchmark进行了手动的转化,转化之后的OpenCL代码在CPU上的性能相对于转化前的OpenCL代码在CPU上的性能提高了近2倍。由于OpenCL性能移植性存在的存在,使得在利用异构平台的CPU和GPU同时进行计算时,性能不理想。为此本文研究和扩展了Sequoia编程模型,扩展之后的Sequoia编程模型支持异构平台的CPU和GPU同时进行计算,本文的工作暂时支持均衡的任务划分策略,这对CPU和GPU计算性能相当的异构平台来说,可以取得较好的整体性能。实际中有的异构平台的CPU和GPU性能相差很大,后续将会支持CPU和GPU间动态的负载均衡。
其他文献
在中国机构LP匮乏的背景下,各类资金如何能够参与到私募股权投资中备受重视。何为合格投资主体是对私募股权投资领域进行法律研究的首要问题。沿着投资主体问题进一步分析,在我
从全球范围来看,家族企业的发展得到社会广泛关注。越来越多的研究认为家族企业存在巨大的生命力。目前,不仅大多数发展中国家,家族企业在社会经济中占据了重要地位,在一些发达国
自改革开放以来我国城市规模日益扩大,传统的城市土地使用制度以“无偿、无期限和无流动”为特征,土地利用效率低下,而地方政府在“土地财政”思维下又将大量农村土地违规投放土
随着房地产业的快速发展和消费者购房意识的转变,全装修住宅的市场占有率逐年上升,越来越多的房地产企业将全装修住宅作为主要开发业态之一。由于住宅建造技术的发展和劳动力成
页岩渗透率是影响页岩气抽采效率的关键参数之一。页岩储层较厚,储层上下两端埋深差别很大导致温度差异显著。同时,页岩中粘土矿物与有机质的热膨胀系数差异很大。温度变化时
谍战剧是集间谍、悬念、情报交换、感情(爱情、亲情和友情)、刑讯等元素于一身的历史传奇剧种。这种电视剧类型具有中国特色,深受观众的欢迎。如今,观看谍战剧已经成为一种普遍的
背景克罗恩病(Crohn’sdisease,CD)是病因不明的肠道慢性非特异性炎症,临床表现复杂多样,确诊困难,误诊率较高,常有并发症及肠外表现,临床治疗效果差。目前克罗恩病诊断存在两个主
自2005年7月人民币汇率制度改革以来,人民币币值出现对内贬值、对外升值的现象。人民币的“外升”非常明显,既表现为人民币相对美元的升值,也表现为人民币相对一篮子货币的升值
存储系统是航测系统的关键组成部分,随着高分辨率、高频帧CCD相机在航测中的广泛使用,不仅要求存储系统可以对航测数据进行高速稳定的存储,还要能克服空天等恶劣环境。针对这些
如何构建社会主义和谐社会,不仅是一个重大的理论问题,而且也是一个重要的实际问题。本文从法治和构建和谐社会的角度出发,从他们的基础与保障方向着手,讨论了如何建立一个和谐的
学位