LabVIEW 8.5为开发者带来多核处理器强大功能.docVIP

LabVIEW 8.5为开发者带来多核处理器强大功能.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LabVIEW 8.5为开发者带来多核处理器强大功能

LabVIEW 8.5为开发者带来多核处理器强大功能   根据摩尔定律,芯片上晶体管的数目每隔18~24个月就会翻一番。如同在过去40年里一样,这个定律现在还是正确的,但是在性能上却并不再呈现一个线性增强的现象。以前,芯片制造商通过提高处理器时钟速度使芯片性能翻番――从100MHz到200MHz,直至近来达到吉赫兹。   然而如今,因为能量消耗和热量发散的限制,通过增加时钟速度来提高性能已经不再可行。芯片制造商开始转向全新的芯片结构,即一个芯片上有多个处理器核。相对于单核,采用多核处理器的程序员们可以完成更多全局工作。然而,要充分利用多核处理器的优点,程序员们必须重新考虑他们该如何开发应用程序。有些程序员,希望在终端客户将他们的电脑简单升级到快速处理器的时候,就能立即获得软件应用程序性能的增强。按照微软的软件工程师HerbSutter的话来说,对这些程序员“已经没有免费的午餐”。简而言之,如今程序员们应当致力于可持续的性能改进。   提高处理器时钟速度,则顺序程序的性能改进;为电脑升级一个更快速的CPU,意味着每一条独立指令的运行速度都会加快。要想使用多核系统以继续提高性能,开发者需要设计应用程序,为每个核分配工作――本质上即是开发一个并行应用程序来取代顺序应用程序。   幸运的是,NI LabVIEW软件非常适合于工程师和科学家们充分利用多核芯片的处理能力,主要原因有下面三个。   1.LabVIEW是一种图形化数据流编程语言   开发者可在LabVIEW中简便地实现并行任务,使得开发新的应用程序并更改现存的应用程序以利用多核处理器的优点成为可能。LabVIEW从5.0版本开始就是多线程的,而现在的8.5版本更引进了新的功能,以利用多核处理器的优点。   2.LabVIEW将多核性能引进嵌入式实时硬件中   LabVIEW 8.5将桌面操作系统(例如Windows和Linux)的自动多任务处理功能――也就是对称多处理技术(SMP)――引入确定性的实时系统。   3.LabVIEW处于“Multicore―Ready”软件层次的顶层   LabVIEW应用程序的每一层(例如:LabVIEW应用程序代码、低层函数、I/O驱动),都是线程安全的,它们可以利用多核处理器的优点。      LabVIEW是一种图形化数据流编程语言      使用LabVIEW开发应用程序的最主要好处就是其直观的、图形化的语言。在LabVIEW中,解决工程问题就如同在纸上画方块图一样简单。由于LabVIEW能够并行表达和执行任务,所以现代的多核处理器使得LabVIEW成为编程工具的一个更有利的选择。   LabVIEW的数据流特性意味着不论何时,只要代码在线上有个分支或在方块图上有个并行序列,潜在的LabVIEW编译器就会尝试并行执行代码。用计算机科学的专有名词来说,这就是“隐并行”,因为你并不需要为了并行执行程序而明确编写代码,LabVIEW的图形化语言将自行实现一定程度的并行性。   从单核到双核计算机,理论上的优势是性能的双倍改进。但是,如何逼近该极限,则与你能多大程度上并行执行程序有关。LabVIEW程序员自然是并行地编写其算法。在普通LabVIEW应用程序的初始基准下,若不考虑多核编程技术,不改变代码,则其性能能够提高15%~20%。      图1是一个简单的应用例子:LabVIEW代码的一个分支用于两个分析任务――滤波操作和快速傅里叶变换(FFT)――在双核机器上并行执行。因为两个任务计算量都很大,所以采用双核执行,相对于单核的效率改进是1.省略/multicore上找到所有这些优化方案的例子。      LablVEW为实时嵌入式硬件引入多核性能         一直以来,工程师们使用的工具都不能利用嵌入式多核系统的特性进行最优化的并行式编程。LabVIEW 8.5软件为确定性实时系统引入了台式机的自动多线程调度器(也被称为SMP)。LabVIEW 8.5的实时模块加入了一流的多核系统支持,它有着如下特性:   在嵌入式实时系统中,在多个核上自动进行负载均衡。   对于时间关键(time-critical)的代码,可以将定时循环分配到指定的处理器上将定时循环结构中的关键代码与应用程序中的其他代码隔离开。   利用Real-Time ExecutionTrace Toolkit 2.0工具,用户可以方便地对VI程序运行过程中的线程和处理器核进行图形化的表示,以便更好地调整实时系统,进而获得最佳性能。      LabVIEW处于“Multicore-Ready”软件层次的顶层      Intel公司定义了用户需要评估的四层软件层次来确定多核系统的可用程度。这四层软件层次分别是

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档