搭配
NI LabVIEW
进行多核编程
NI LabVIEW
图形化编程方法不仅省时,还很适合对多核处理器和其他并行硬件
[
如:现场可编程门阵列
(FPGA)]
进行编程。其中一项优势是:通过
2
个、
4
个或更多核将应用程序自动扩展至
CPU
,通常无需更多编
程努力。此外,图形化
LabVIEW
代码还有助工程师与科学家可视化显示并行操作,因为它天生代表工业和院
校采用的最流行并行编程模式。
并行编程的挑战
并行编程正很快成为用来构建大多数多核处理器的必要。出于许多原因(包括:能耗与内存带宽),现代处理
器具有非常迟滞的时钟频率;
CPU
制造商却开始在单芯片上纳入多个处理器内核同时维持乃至降低时钟频率。
因为不能仰赖时钟频率的增加来自动加速应用程序,现在您必须设计出在多核处理器上运行的应用程序。未来,
如果您不花时间优化针对多核处理器的应用程序,可能发现性能出现减退。
为解决这项挑战,许多工具被用来帮助您创建能够利用多核处理器的代码。您能手动地将代码块分配至线程;
这样,许多操作系统都可以将这些线程扩展到不同的处理器内核上。然而,管理这些线程费时而且困难。此外,
各种语言和
API
对部分关乎线程的工作进行抽象,但它们仍需要您确切指定能够并行运行的操作类型。
图
1. CPU
时钟频率停止增长;多核处理器的性能现在得到提升。
自动利用多核处理器
在
LabVIEW
中编程涉及到创建类似流程图的图形化代码
(G)
,这与使用传统的顺序语言进行编程迥然不同。
这被称为数据流编程。
LabVIEW
程序不编写逐个执行的命令序列,而包含将一个变量连至下一个的变量与运
算符
——
LabVIEW
编译器自动确定命令的先后顺序以便执行继而产生正确的结果。这也意味着:借助
LabVIEW
,代码的两个并行部分在相互独立时,能够在一个多核处理器的不同核上同时运行。
如需视觉化显示该部分,请考虑图
2
中简单的算术程序。
LabVIEW
会认为:不论是乘与加函数还是减函数,
都能同时执行;它们不会相互依赖着执行。