共查询到20条相似文献,搜索用时 0 毫秒
1.
2.
针对异构处理器在传统通用计算中利用率低的问题,提出基于开放计算语言OpenCL(open computing language)的新的通用计算技术,它提供了统一的编程模型。介绍了OpenCL的特点、架构及实现原理等,并提出OpenCL性能优化策略。将OpenCL与计算统一设备架构CUDA(compute unified device architecture)及其它通用计算技术进行对比。对比结果表明,OpenCL能够充分发挥异构处理平台上各种处理器的性能潜力,充分合理地分配任务,为进行大规模并行计算提供了新的强有力的工具。 相似文献
3.
4.
目前的多任务流并行编程模型难以探测到异构多核系统中存的慢任务和落后任务,存在调用开销高、计算开销高和编程加速比低的问题。为此,设计了新的面向异构多核系统的多任务流并行编程模型。通过寄存器重定向、指令迁移、分离发射和线程切换4个部分组建多任务流并行编程模型,并设计了任务探测算法,探测异构多核系统中存在的慢任务和落后任务,提高了异构多核系统在多任务并行处理过程中的编程灵活性。测试结果表明,该模型的调用开销和计算开销均较低,且编程加速比高。 相似文献
5.
6.
主从式单边异构体系结构的异构多核处理器广泛应用于面向专门应用领域的计算加速,如异构多核嵌入式处理器、DSP、SoC等;高性能的该类处理器也可用于一些大规模科学和工程计算问题的处理。主从式单边异构处理器对编程模型和编译技术提出了很多挑战性问题,如编程模型的选择、编程语言的设计、编译器架构设计以及运行库的设计等。本文分析了这一类处理器结构特点和执行模型,认为功能卸载模型是最适用于这一体系结构的编程模型;并分析了面向功能卸载模型的编程语言设计关键问题,提出了编译系统的架构,讨论了相应的运行库设计问题。 相似文献
7.
异构众核架构具有超高的性能功耗比,已成为超级计算机体系结构的重要发展方向.但众核系统更为复杂的并行层次和存储层次,给编程和优化带来了极大的挑战,因此研究面向众核系统的并行编程技术,对于降低国产众核系统并行应用的编程难度、提升并行程序的性能都具有重要的意义.提出统一架构的多模式并行编程模型,包括异构融合的加速运算模型和按同构方式编程的自主运算模型,根据编程模型设计了Parallel C语言,能有效描述国产众核系统的异构并行性,与其它众核系统上MPI+X的使用模式相比,编程和系统优化都具有全局视角,在多级局部性描述、单边消息、兼容已有多核应用等方面具有特色;基于Open64构建了Parallel C编译系统,全面支持加速运算模型和自主运算模型,提出并实现了数据布局与自动DMA、编译指导的线程代理和拓扑位置感知的集合通信等优化.Micro Benchmark和实际应用在神威太湖之光计算机系统上的测试数据表明,Parallel C语言和编译系统具有良好的性能和可扩展性,能够有效支撑大型应用. 相似文献
8.
异构架构逐渐成为高性能计算领域的主流架构,但相较于同构多核架构,其硬件结构及存储层次更为复杂,程序编写更为困难.先进的优化编译器可以协助程序开发人员实现更为高效的代码,降低程序开发复杂度.多面体编译模型通过抽象分析将程序抽象成空间多面体表示形式,能够将多种循环变换与硬件映射相结合,并面向特定体系结构生成相应的代码.设计实现了一个面向国产申威异构架构的并行代码自动生成系统,采用“源-源”编译模式,基于多面体编译模型实现.系统针对申威异构架构特点将程序计算过程进行硬件部署,同时实现数据传输与内存空间的自动管理.实验基于Polybench测试集中线性代数相关用例进行测试.结果表明,利用代码自动生成系统生成的异构并行代码能够在申威异构平台上正确运行,并能够有效发挥申威异构平台的性能,基于申威异构平台利用64线程加速计算的平均加速比达到了539.16倍. 相似文献
9.
由于超强的计算能力、高速访存带宽、支持大规模数据级并行程序设计等特点,GPU已经成为超级计算机和高性能计算(HPC)集群的主流加速器。随着处理单元的发展和集群节点的拓展,GPU集群不仅在节点层面呈现异构化,节点内也趋于异构化,大大提高了在GPU集群中编程的复杂度。主流GPU异构集群系统大多采用针对GPU的异构计算编程模型与面向分布式内存的消息传递模型的简单结合方式,这种方式使得GPU集群程序设计缺乏确定的准则,往往是低效而且易错的。为了提高在GPU集群中编程的效率,降低编程复杂度,以及实现平台无关性,提出一套异构GPU集群的并行分布式编程的解决方案。该方案通过采用扩展语言方法提出了编程框架DISPAR,并实现了预处理器系统StreamCC。实验证明了其可行性。 相似文献
10.
现有的并行代价模型大多是面向共享存储或分布存储结构设计的,不完全适合异构多核处理器。为解决这个问题,提出了面向异构多核处理器的并行代价模型,通过定量刻画计算核心运算能力、存储访问延迟和数据传输开销对循环并行执行时间的影响,提高加速并行循环识别的准确性。实验结果表明,提出的并行代价模型能有效识别加速并行循环,将其识别结果作为后端生成并行代码的依据,可有效提高并行程序在异构多核处理器上的性能。 相似文献
11.
随着算力需求的增长,各种国产异构计算设备不断出现,这些设备都有其专用的编程模型,开发者需要根据不同设备的架构特点在专用的编程模型上进行开发,导致开发出的代码在设备间不具有可移植性。近年来国外已经出现了支持多种计算设备的统一异构并行编程模型,但针对国产设备的异构编程模型的研究和实现还比较少。针对该问题,开发了一套性能可移植的异构编程模型ParM。该编程模型以C++库的形式提供,屏蔽了大量的底层实现细节,降低了并行编程难度。该编程框架目前支持的后端设备有x86 CPU、NVIDIA GPU、华为鲲鹏处理器和华为昇腾AI处理器,并且对各种后端设备进行了性能优化。在各种设备上的性能测试表明,ParM编程模型的性能可以达到原始代码的90%以上。 相似文献
12.
随着混合异构平台的发展,出现了类型不一的加速设备,如何在混合异构平台中充分利用这些不同类型的设备,以及如何在多个计算设备之间部署深度学习模型,而且训练大型和复杂模型的重要性不断提高.数据并行(DP)是应用最广泛的并行化策略,但是如果数据并行训练中的设备数量不断增加,设备之间的通信开销就会成为瓶颈.此外,每个步骤因设备性... 相似文献
13.
由通用微处理器和专用加速器构成的异构并行系统比传统的同构系统显示出更高的性能和效能,目前已成为高性能计算领域的重要发展趋势。然而,编程问题成为限制异构系统发展的一大挑战,因此引起学术界和业界广泛关注。本文首先阐述了异构系统编程问题的来源;其次分析了近年来面向异构系统编程方法的研究工作,并对其进行分类;最后总结了异构系统编程方法未来的研究问题。 相似文献
14.
一种面向异构众核处理器的并行编译框架 总被引:1,自引:0,他引:1
异构众核处理器是面向高性能计算领域处理器发展的重要趋势,但其更为复杂的体系结构使得编程难的问题更加突出.针对这一问题,基于开源编译器Open64,提出了一种面向异构众核处理器的并行编译框架,将程序自动转换为异构并行程序.该框架主要包括4个模块:任务划分模块用来识别适合进行加速计算的程序段,实现了嵌套循环的多维并行识别方法;数据布局模块完成数据在主存和SPM之间的布局,实现了数组边界分析和指针范围分析;传输优化模块实现了数据传输合并、传输外提、打包传输、数组转置等多种数据传输优化方法;收益评估模块在构建代价模型的基础上实现了一种动静结合的收益评估方法.并且,基于SW26010处理器,对该编译框架进行了实现,测试结果表明,该编译框架能够实现一些程序以面向异构众核结构的并行变换,且获得较好的加速效果. 相似文献
15.
唐绍华 《计算机工程与应用》2014,50(21):79-84
网络编码允许网络节点在数据存储转发的基础上参与数据处理,已成为提高网络吞吐量、均衡网络负载和提高网络带宽利用率的有效方法,但是网络编码的计算复杂性严重影响了系统性能。基于众核GPU加速的系统可以充分利用众核GPU强大的计算能力和有效利用GPU的存储层次结构来优化加速网络编码。基于CUDA架构提出了以片段并行的技术来加速网络编码和基于纹理Cache的并行解码方法。利用提出的方法实现了线性随机编码,同时结合体系结构对其进行优化。实验结果显示,基于众核GPU的网络编码并行化技术是行之有效的,系统性能提升显著。 相似文献
16.
17.
在国产高性能众核处理器上编程时,需要直接使用最底层的接口开发软件,这使编程和调试非常困难;并且各自平台的高性能软件编程模型较为基础,计算软件不能通用,造成了重复性开发。针对以上问题,实现了通用编程模型以及所对应的支撑库:一方面基于消息队列机制开发国产高性能众核处理器的线程级并行机制;另一方面基于单指令多数据流(SIMD)编程模型开发从核上的数据级并行性。首先,对国产高性能众核处理器体系结构进行抽象;其次,设计模型的消息队列机制,并为程序员提供一套异构并行编程接口,如系统参数接口、从核线程控制接口、消息队列接口、SIMD抽象接口;最后,在上述基础上形成全新的高性能计算软件开发模型和方法,方便用户开发基于国产高性能众核处理器的并行计算软件。性能传输测试结果表明,在国产众核处理器上,当启动核数较少时,所提模型的传输带宽普遍达到了峰值直接内存访问(DMA)带宽的90%;当启动的核数较多时,消息队列模型的传输带宽普遍达到了峰值DMA带宽的70%。在矩阵乘法实验中,与系统原语传输矩阵并计算的性能相比,所提模型的性能达到前者的90%;在口令猜测系统中,所提模型的代码性能与直接使用最底层的接口开发的代... 相似文献
18.
记得70年代美国宇航局的工程师们为了解决某个计算问题而将9个CPU搭成3×3的处理器阵列来并行执行。人们认为这一天就是并行计算的诞生日。 今天,我们到很多科研单位都会发现,由于实际问题规模的不断扩大、算法的复杂性不断提高,单个的计算机已经不能解决规模如此之大的问题,研究人员往往借助于网络机群系统的整体聚合处理能力来解决实际应用问题。如何调度多个计算机的资源来协同解决一个大型问题呢?用户如何编写一个让所有计算机同时为自己服务的并行程序呢?是不是只有那些精于科学研究的工作人员才能学会这些?笔者百思不得 相似文献
19.
研究众核阵列非满配时逻辑线程映射到物理线程的方法.在此基础上提出应用于非满配众核阵列的并行编程方法,此方法也可以与MPI并行编程相结合,应用于大规模并行集群系统. 相似文献
20.
CC$是一种并行编程语言,目的是解决分布式众核并行计算机的编程困难。CC$的编程模型以Multi BSP
模型为基础,将分布式众核并行计算机的硬件架构抽象为3层。数据按照存储的层次和共享范围分为5类,以便在不
同层次上提供共享。LL$还提出一类虚拟指令来解决不同层次之间的数据交换,实现数据访问的逻辑化描述。并行
程序按照3层Multi BSP超步嵌套执行。CC$具有统一的编程风格、内建的多层会共地址空间、数据访问请求的表达
式描述和数据传输编译优化4大特点。测试表明,CC$程序的运行效率高,易学易用,大幅地缩短了开发周期。 相似文献