基于多核的多线程算法并行优化-计算机应用技术专业论文.docxVIP

基于多核的多线程算法并行优化-计算机应用技术专业论文.docx

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要摘要 摘要 摘要 在多核处理器不断普及的今天,并行软件开发技术的加速发展已成为关键。 多核处理器既促进了并行软件开发技术的发展,也依赖于并行软件开发技术。 但是软件并行化的发展需要克服重重困难。当今在使用的很大部分软件还是串 行思想开发的产物,我们需要从根本软件开发理念上改变,进行软件并行化。 目前已经出现了多种并行编程模型,主要有共享存储编程模型、消息传递模型 和分布式存储模型。多线程并行编程就基于共享存储的编程模型。 矩阵相乘算法的重要性不言而喻,在很多科学计算和工程方面应用极广。 因此,对矩阵相乘算法做了实验,分别采用了Win32多线程API、OpenMP及c# 多线程对其进行实现。在此过程中,归结了这几种多线程编程方法的特性和优 缺点。Win32多线程API具有性能优,可以显性操作线程的优点,但是实现相 对复杂,对软件开发人员要求高。OpenMP实现简单,适合于优化循环。但是性 能相对Win32多线程API稍微逊色。而C#在语言级提供了对多线程的支持,但 是由于其基于虚拟机的机制导致其性能还不如前两者,实现难度介于两者之间, 也可显性操作线程。本实验结果有助于在开发时对编程方法的选择。 排序算法是常用而且对其本身性能要求很高的算法。在前面实验研究的基 础上,提出了一种排序组合算法,并且对后半部分的归并排序进行了改进。改 进的方法采用了多线程的思想,将原来单线程执行的归并过程进化成可以同时 执行的两个线程。两个线程分别从已经有序的两个序列的最大值端和最小值端 同时进行比较,将相应的结果放在新序列的相应端。两个线程都工作至新序列 的中间为止,也达到了负载平衡的目的。该算法的实验采用前面实验分析结果 中性能最优的Win32 API多线程编程方法进行实现。实验结果对比表明并行改 进后的算法性能提升显著,并且随着数据规模的扩大,提升比例稳定升高。 关键词:多线程,多核,归并排序,并行优化,排序算法,矩阵相乘 AbstractAbstract Abstract Abstract Nowadays,as the growing popularity of multi-COre processors,the development of parallel software technology has become the crux.The multi‘core technology can accelerate the development of parallel software technology,and also depend on it.At the present time,most of the software or applications in use were developed in serial ideas,SO the development of parallel software technology must overcome much difficulty.We need a fundamental change from the traditional serial programming ideas to parallel ideas.There are various parallel programming models,parallel programming models based on shared memory,models based on message transmitting and models based on distributed memory.The multi-threaded parallel programming is one kind of shared memory parallel programming model· It goes without saying the importance of matrix multiplication algorithm;it is widespread in many scientific computing and engineering applications.So,there is a experiment of matrix multiplication algorithm,implemented by Win32 muRi.threaded API,OpenMP and C撑.It turns out that each method has its advantages and disadvantages.Using Win32 multi—threaded API, it has

文档评论(0)

131****9843 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档