---------------本文为网络收集精选范文、公文、论文、和其他应用文档,如需本文,请下载--------------
简述C#多核并行编程
本文从网络收集而来,上传到平台为了帮到更多的人,如果您需要使用本文档,请点击下载按钮下载本文档(有偿下载),另外祝您生活愉快,工作顺利,万事如意!
多核处理器的出现使得传统的串行编程模式无法利用多核、多处理器的优势,随着多核、多处理器平台的出现,多核编程也得到了更深层次的发展,而现在并行编程技术的发展并不能完全利用多核的优势,因而寻求新的并行编程技术是十分必要的。C#是.NET 平台中引入完全面向对象的编程语言,是C/C++的衍生语言,不但将C/C++的强大功能继承下来,并且去掉了它们的一些复杂特性,是一种能快速高效地实现基于.NET 平台软件开发的编程语言,且C#已经支持并发代码,这对于实现C#多核并行编程是十分必要且有利的。
1 多核并行编程概述 多核环境
随着社会数字化、信息化的不断发展,对于计算机对数据的处理速度要求越来越快,在现代计算机技术的不断发展下,多核处理器已经成为计算机的处理器的主流,现代计算机大多都至少有一个双核的微处理器。
---------------本文为网络收集精选范文、公文、论文、和其他应用文档,如需本文,请下载--------------
---------------本文为网络收集精选范文、公文、论文、和其他应用文档,如需本文,请下载--------------
多核处理器是将两个及其以上的具有完全功能的核心集成在同一个芯片上,并将整个芯片作为整体对外输出。多核处理器所集成的核心可以是单线程处理核心或多线程处理核心,集成后的多核处理器可同时执行的线程数或任务书是原本单处理器的数倍,这为处理器实现更高程度的并行提供了可能。并且,由于所有的核心都集成在片内,这就缩短了核心之间通信更高效,缩短核间的通信延迟,数据传输带宽也得到了提高。除此之外,由于多核处理器的集成性,功耗降低,提高了其片上资源的利用率。由于多核处理器结构简单,易于优化,扩展性强,这些特点使得多核的发展并逐渐取代单处理器成为主流。 并行编程
传统的串行代码是顺序执行,且只用一个处理器,但随着现在多核的普及,串行程序无法充分利用多核的特点,这就促进了多核并行程序设计的出现。并行程序设计是指同时对多个任务、多条指令或多个数据项同时进行处理,是程序设计的一种形式,能够充分利用底层硬件所提供的并行执行能力从而提高程序的运行效率。
并行程序设计的重点就是要找到程序中的并行性,尽可能降低由于并行化引起的开销。有时,并行
---------------本文为网络收集精选范文、公文、论文、和其他应用文档,如需本文,请下载--------------
---------------本文为网络收集精选范文、公文、论文、和其他应用文档,如需本文,请下载--------------
化并不是优化算法的最佳选择,如果相比于串行执行的方式,并行化能够带来显著地性能提升,那么并行化才有意义。判断是否适合并行化并没有一劳永逸的方法——一切都取决于特定问题的功能需求和性能需求。在对现有程序进行并行优化的时候,必须理解现有的串行设计,或者理解提供了有限可扩展性的并行化算法,然后再对现有设计进行重构,从而使其获得性能提升,而且不会引入问题或产生不同的结果。在衡量程序并行化的效果时,可以用加速比来比较并行效果。其中,是加速比,是串行运算时间,也可表示为单处理器运行时间;是在有P 个核的处理器上的运行时间。
NET Framework 4
在传统的顺序式代码中,指令一条接着一条运行,这种方式并不能发挥多内核的优势,因为顺序指令只能运行在一个可用内核上。因此,在多核环境下,软件设计和程序编写能够准备好充分发挥多核系统的功能是一件十分重要的事情,但使用Visual C#2010 编写的顺序代码并不能发挥多核的优势,除非利用.NETFramework4 所提供的新功能将任务分解到多个内核上,Visual C#2010 和.NET Framework 4 使得将基于任务的设计转换为并行化代码变得非常简单。
---------------本文为网络收集精选范文、公文、论文、和其他应用文档,如需本文,请下载--------------
简述C#多核并行编程
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)