基于多核环境下的多线程并行程序设计方法研究

来源 :中原工学院 | 被引量 : 0次 | 上传用户:xryanqd
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在过去十年里,随着众多领域并行计算需求的迅速增长而硬件又受到摩尔定律的严重制约,多核CPU现在被越来越多的应用于并行计算机中,于是基于多核处理器的并行程序设计技术也就成为了一种必然的发展趋势。此外,过去专用于图形处理的GPU也不再专用,因其具有大量的并行计算单元,使它在处理并行计算方面具有突出优势,正是其强大的并行计算能力引起了计算机科学家们的广泛关注,现在它几乎已不成文的成了重量级计算引擎的代名词。在经历了单核、多核的技术革新之后,异构计算正在成为当今打破并行计算程序性能瓶颈的又一突破技术,不同类型体系结构的设备都能被它有效地联系起来,实现协同工作,相互利用,一起完成程序计算。CUDA和OpenCL都是基于CPU+GPU模式的GPGPU异构计算,CUDA是NVIDIA提出的一种适用于通用并行计算的计算架构,而OpenCL则是一个专门为由CPU,GPU或其他体系结构类型的处理器组成的异构平台编写程序的框架。本文首先介绍了并行计算机体系结构,对并行计算机的结构、访存和设计模型进行了叙述与分析。接着对基于分布式存储和共享存储的并行编程模型的异同进行了对比。通过自己搭建的Linux机群,着重实现了在基于Linux系统平台上的MPI+OpenMP混合编程,证实了由节点间的消息传递和节点内的共享存储混合编程相对于单一编程模式有更好的加速比。最后利用OpenCL实现了矩阵相乘算法实践,完成了异构编程实验。
其他文献
集控式机器人足球比赛系统分为视觉子系统、决策子系统、通讯子系统和足球机器人小车子系统四个部分,其中小车子系统的性能直接决定着足球机器人在赛场上的表现。本文通过分析
数据库系统担负着对数据信息访问控制和存储的任务,数据库不安全的主要原因之一是原始数据以明文可读形式存放在数据库中,如果对数据库中的数据进行加密处理,那么上述问题可以得
长久以来,人们就想制造出一种具有智能的机器,它能通过自然语言与人类交流并服务于人类。计算机的出现和迅速发展为这个梦想的实现带来了希望。因此,人们迫切地需要计算机具有理
随着网络规模和网络用户的快速增长,理解用户对网络的浏览模式变得越来越重要,因为其对于网络结构的优化、站点的重构,个性化服务和推荐的产生等具有重要的意义。 在实际情况
2000年,Ahlswede等人基于网络信息流的概念提出了网络编码的思想。通过允许网络节点进行编码,可以获得网络组播速率的最大流限,即网络资源利用的理论上限,而通过传统的路由和复制
液晶显示器LCD(Liquid Crystal Display)现在已经广泛应用于手机、 PDA(Personal Digital Assistant)等便携式电子产品中。LCD控制器则是系统和LCD之间的接口部件,是系统显示
平台化是管理软件的发展趋势。传统的管理系统是在低层的技术平台上直接构建的,采用面向技术、业务无关的“原始”编程工具进行开发,这直接导致了所开发的管理系统具有两个重大
随着计算机和通信技术的不断发展,嵌入式系统的应用日益广泛,但传统的开发方法限制了软件开发人员,因为软件的调试,需要在真实的目标系统上完成。为了解决这个软件开发的瓶颈,全系
自然语言理解是人工智能领域的经典难题,目前国内外有大量的研究。在汉语信息处理领域,相应的研究应该包括有字处理、词处理、句处理、篇章处理。然而到目前为止,关于汉语理解的
新的网络存储技术——SAN(Storage Area Network)以其自身多方面的优势,为日益增长的信息存储和管理提供了良好的解决方案,成为网络存储理想的管理和应用模式。但目前,SAN的管理