搭配ni labview进行多核编程

搭配ni labview进行多核编程

ID:3924883

大小:296.12 KB

页数:3页

时间:2017-11-25

搭配ni labview进行多核编程_第1页
搭配ni labview进行多核编程_第2页
搭配ni labview进行多核编程_第3页
资源描述:

《搭配ni labview进行多核编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、搭配NILabVIEW进行多核编程NILabVIEW图形化编程方法不仅省时,还很适合对多核处理器和其他并行硬件[如:现场可编程门阵列(FPGA)]进行编程。其中一项优势是:通过2个、4个或更多核将应用程序自动扩展至CPU,通常无需更多编程努力。此外,图形化LabVIEW代码还有助工程师与科学家可视化显示并行操作,因为它天生代表工业和院校采用的最流行并行编程模式。并行编程的挑战并行编程正很快成为用来构建大多数多核处理器的必要。出于许多原因(包括:能耗与内存带宽),现代处理器具有非常迟滞的时钟频率;CPU制造商却开始在单芯片上纳入多个处理器内核同时维持乃至降低时钟

2、频率。因为不能仰赖时钟频率的增加来自动加速应用程序,现在您必须设计出在多核处理器上运行的应用程序。未来,如果您不花时间优化针对多核处理器的应用程序,可能发现性能出现减退。为解决这项挑战,许多工具被用来帮助您创建能够利用多核处理器的代码。您能手动地将代码块分配至线程;这样,许多操作系统都可以将这些线程扩展到不同的处理器内核上。然而,管理这些线程费时而且困难。此外,各种语言和API对部分关乎线程的工作进行抽象,但它们仍需要您确切指定能够并行运行的操作类型。图1.CPU时钟频率停止增长;多核处理器的性能现在得到提升。自动利用多核处理器在LabVIEW中编程涉及到创建

3、类似流程图的图形化代码(G),这与使用传统的顺序语言进行编程迥然不同。这被称为数据流编程。LabVIEW程序不编写逐个执行的命令序列,而包含将一个变量连至下一个的变量与运算符——LabVIEW编译器自动确定命令的先后顺序以便执行继而产生正确的结果。这也意味着:借助LabVIEW,代码的两个并行部分在相互独立时,能够在一个多核处理器的不同核上同时运行。如需视觉化显示该部分,请考虑图2中简单的算术程序。LabVIEW会认为:不论是乘与加函数还是减函数,都能同时执行;它们不会相互依赖着执行。图2.独立的代码路径可同时执行。LabVIEW编译器可辨识程序框图上许多不同

4、的并行代码,并在运行的同时将那些部分映射至数量固定的线程。这能防止您手动处理线程细节,同时避免创建过多可能危及性能的线程。手动线程创建LabVIEW自动处理线程并利用多核处理器的能力,并不意味着:您在需要时无法控制此事。例如,您或许希望独立一项特定任务,如:专用、高优先级线程中的紧急状态监控。LabVIEW定时结构包含定时循环,每个都能创建一个供结构内代码运行的单一线程,并能够通过在开发期间或者运行时设置处理器亲和度选项被分配到特定处理器内核。凭借LabVIEW,您无需放弃在必要时对低层的访问,就能聚焦在自己全力解决的问题上,而不是花时间将代码映射至多核处理器

5、。交互显示并行代码LabVIEW在利用多核CPU时具备另一项重要优势:并行代码的直观图形化表现。当您能使用传统的顺序语言来创建并行程序时,持续跟踪并行操作会是一项艰巨挑战。此外,由于开发者往往联手创建大型应用程序,破解他人编写的并行代码甚至比破解您自己的代码更困难。相反,LabVIEW数据流编程方式带来一种最基本的通信形式——流程图。多年来,顺序编程人员一直通过创建流程图来记录程序元素并且相互通信。不用将流程图诠释为顺序代码或者反其道而行,您能在图形化数据流代码中直接执行理念。您还能快速辨识运行在不同处理器内核上的并行代码路径。LabVIEW图形化代码直观地代

6、表了工业和院校采用的最常见并行编程模式。某些流行模式包含:任务并行机制、数据并行机制和流水线操作。任务并行机制任务并行机制代表:2个或更多能够并行执行的单独操作。在右方的LabVIEW代码中,请注意:滤波器和快速傅立叶变换(FFT)的操作并不相互依赖,所以它们能在多个处理器内核上同步执行。图3.任务并行机制的范例数据并行机制数据并行是一种常用编程模式;您能拆分大块数据并在融合结果之前同时处理各个部分。注意:上述代码中数据通道的拆分、处理和重新组合。图4.数据并行机制的范例流水线技术流水线技术代表一类操作流水线,其中的函数反复执行并且将它们的数据传递至下一项操作

7、来完成下一个循环。在LabVIEW中,流水线技术可用被称为反馈节点的单位延迟。图5.流水线技术的范例大多数实际应用程序(如:射频信号处理和图像分析),提供这些内容和其他并行编程模式的集合。例如,您能在一个LabVIEW程序框图中执行多条流水线,同时代表任务并行机制和流水线技术。凭借LabVIEW,您能通过直观显示并行代码,优化面向多核处理器的应用。强大的图形化调试工具调试是开发各类应用程序时的一个重要环节,LabVIEW同时包含内置图形化调试功能和针对附加工具的连接,有助了解并行程序操作。例如,借助LabVIEW中的高亮执行功能,您能同时观察操作和并行数据流中

8、数据的流动和执行,LabVIEW桌面执

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。