“世界是并行的。人是并行的。计算机是并行的。为什么要把我们自己限制在顺序编程语言中呢?”
Jeff Kodosky是NI LabVIEW软件之父,他在几年前一年一度的NIWeek会议上提出了这个问题。在您阅读这篇文章的时候,您的大脑正在同时处理多个并行 *** 作,例如图像采集、视觉特征识别、文字解析、数据处理、数据存储和运动控制功能——所有这些事情的进行同时还维持着重要的生命机能,包括呼吸、将血液送到全身、产生能量等等。这些关键技能中有一部分需要自己有意识的思考,但是大部分并不需要。
相似的,您现在创建的测量与控制系统也可以同时进行多项任务。计算领域的工程创新引进了许多建立更高效并行系统所需的关键技术:多核处理器、现场可编程门阵列(FPGA)和无线通信。使用这些传统工具利用这些关键技术并不十分容易;但是,如果在应用中使用这些技术,就可以获得性能更高的系统,提高测量与自动化系统的吞吐量,降低成本。LabVIEW的最新版本8.6为您提供了使用下一代并行技术所需的工具,从多核处理器到高性能FPGA直至无线设备。
图1:NI机器视觉开发模块的例如图像卷积函数等多个图像处理函数现在能够自动分配到多个核心进行处理。
1. 在桌面上进行多核超级计算
在世界最顶级的500台超级计算机( )的最新排名中,有77%使用了多核处理器簇,而在2007年这个数字只有22%。这些超级计算机和您现在PC中使用的多核处理器是相同的。当然,要充分利用这些超级计算机需要编写专用的软件。幸运的是,LabVIEW的设计就已经考虑了并行处理,对多任务处理的支持已经长达10多年。
图2:LabVIEW 8.6为FPGA编程提供了强大的算法工程平台,包含了交互式用户界面、大型分析库以及到实时硬件原型上的快速移植。
LabVIEW 8.6是基于现有的多核兼容性而编写的,大大提高了利用多核处理所能够获得的性能。在LabVIEW 8.6中超过1200个数学和信号处理库中的函数已经为多核系统进行了优化;此外,新型的高级缓存连续技术能够进一步提高性能。这样使得对CPU核心的使用更为高效。举例来说,相对于单核系统而言,一个运行在八核系统上的基准测试程序运行快了6.6倍。LabVIEW控制设计与仿真模块也使用了多核处理器,执行并行动态系统仿真模块快了5倍。NI机器视觉开发模块中的多个图像处理函数已经为自动将任务平分到多个核心中进行了优化。例如,图像卷积函数的基准测试在双核系统上运行快了高达15倍(见图1)。这些新型特性为您的测量或控制系统提供了超级计算机级别的性能。
2. 降低FPGA开发时间
FPGA可能是现在并行能力最高的可编程计算硬件,为测量和控制系统提供了前所未有的性能和可靠性。但是,由于FPGA的开发困难重重,许多工程师不太愿意涉足FPGA编程。甚至算法设计专家在进行定点实现的工作也觉得十分困难。LabVIEW提供了强大的算法工程平台,使用交互式用户界面、大型分析库和与实时硬件原型的快速移植特性,满足了这些挑战的需求。LabVIEW 8.6扩展了这些课题,解决了下面列出的最为常见的FPGA挑战。
1、使用传统的FPGA开发软件需要数字设计的专业知识——使用LabVIEW直观的数据流模型,您可以使用图形化LabVIEW FPGA模块,对FPGA进行编程,而不必学习硬件描述语言(HDL)的复杂内容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)