Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Document Type: Instrumentation Newsletter
NI Supported: Yes
Publish Date: Dec 18, 2008


Feedback


Yes No

Related Links - Developer Zone

Related Links - Products and Services

Go Parallel with LabVIEW 8.6 – Next-Generation Multicore, FPGA, and Wireless Technologies

4 ratings | 3.50 out of 5
Read in | Print

“The world is parallel. People are parallel. Computers are parallel. Why limit ourselves to sequential programming languages?”

Jeff Kodosky, the father of NI LabVIEW software, asked this question at an annual NIWeek conference several years ago. As you read this text, your brain is simultaneously performing parallel operations such as image acquisition, optical character recognition, text parsing, data processing, data storage, and motor control functions – all while maintaining your critical life systems including breathing, pumping blood throughout your body, and creating energy. Some of these vital functions require conscious thought on your part but most of them do not.

Similarly, the measurement and control systems you are creating today perform many simultaneous tasks. Engineering innovation in computing has brought several key technologies you can use to create more efficient parallel systems: multicore processors, field-programmable gate arrays (FPGAs), and wireless communication. Taking advantage of these key technologies is not simple with conventional tools; however, if you incorporate them into your application, you can achieve higher-performance systems that increase throughput and reduce the cost of measurement and automation systems. The latest release of LabVIEW, version 8.6, gives you the tools to use next-generation parallel technologies from multicore processors to high-performance FPGAs to wireless devices.


[+] Enlarge Image

Figure 1. Several image processing functions of the NI Vision Development Module, such as the image convolution function, can now automatically distribute processing across cores.

Performing Multicore Supercomputing at Your Desktop

In the most recent ranking of the world’s top 500 supercomputers (top500.org), 77 percent are now powered by clusters of multicore processors, compared to only 22 percent in 2007. These supercomputers are driven by the same multicore processors in your PC today. Of course, the stewards of these supercomputers have to write highly specialized software to take advantage of them. Fortunately, LabVIEW was designed with parallel processing in mind and has supported multiprocessing for more than 10 years.

LabVIEW 8.6 builds on the existing base of multicore compatibility and greatly expands the performance you can achieve using multicore processors. More than 1,200 functions in the math and signal processing library are now optimized for multicore systems in LabVIEW 8.6; additionally, new advanced cache coherency techniques further improve performance. This translates into more efficient use of CPU cores. For example, a benchmark application showed 6.6 times faster signal processing performance on an octal-core system compared to a single-core system. The LabVIEW Control Design and Simulation Module also uses multicore processors to execute parallel dynamic system simulation models up to five times faster. Several image processing functions of the NI Vision Development Module are now optimized to automatically distribute processing across cores. The image convolution function, for example, has been benchmarked to perform up to 15 times faster on a dual-core system (see Figure 1). These new features offer supercomputer-level performance to your measurement or control system.

Figure 2. LabVIEW 8.6 delivers a powerful algorithm-engineering platform for programming FPGAs with interactive UIs, huge analysis libraries, and fast porting to real-time hardware prototypes.

Reducing FPGA Development Time

FPGAs are perhaps the most parallel programmable computing hardware available today, offering unprecedented performance and reliability for measurement and control systems. However, many engineers are reluctant to venture into FPGA programming because of the serious development challenges involved. Even experts in algorithm design struggle with the difficulties of fixed-point implementations. LabVIEW delivers a powerful algorithm engineering platform to meet these challenges with interactive UIs, huge analysis libraries, and fast porting to real-time hardware prototypes. LabVIEW 8.6 continues this theme, tackling the most common FPGA challenges noted below.

1. Digital design expertise is required to use traditional FPGA development software – With the intuitive dataflow paradigm of LabVIEW, you can use the graphical LabVIEW FPGA Module to program FPGAs without having to learn the intricacies of hardware description languages (HDLs).

2. FPGA code may need lengthy compilation periods before executing – LabVIEW 8.6 greatly enhances FPGA development and debugging features so you can simulate your FPGA and host interface code on your development computer without compiling. Additionally, you now can create a test bench for your FPGA logic by simulating I/O signals without changing the FPGA code and validate your design before compilation.

If you use NI CompactRIO hardware, you can take advantage of the new CompactRIO Scan Mode feature in LabVIEW 8.6 to access I/O from the real-time processor without having to program the FPGA. With this new option, you can choose to “crack open” the FPGA when your application requires more performance or customized behavior.

3. Algorithms are difficult to port from a software prototype to a hardware implementation – Because LabVIEW can execute on both desktop platforms and FPGAs, the transition from desktop to hardware is much smoother than with traditional tools that require you to rewrite algorithms. The new fixed-point data type support and advanced analysis intellectual property (IP) such as fast Fourier transform (FFT) functions on FPGAs in LabVIEW 8.6 make this path even smoother.

4. Updating a design to use the latest FPGA hardware can consume time and money – LabVIEW preserves your development investment by taking care of the hardware abstraction, so you can use new hardware platforms – such as NI R Series devices based on Xilinx Virtex-5 FPGAs and the NI Single-Board RIO board-only reconfigurable I/O (RIO) platform – without changes in your LabVIEW FPGA code.

Simplifying the Implementation of Wi-Fi Measurement Systems

In addition to simplifying parallel code development on multicore processors and FPGAs, LabVIEW 8.6 simplifies the development and deployment of parallel distributed measurements by adding support for new NI Wi-Fi data acquisition (DAQ) devices. While LabVIEW has long provided the ability to acquire data over a variety of plug-in and cabled buses, including PCI, PXI, USB, LAN, and GPIB, wireless technologies have been slower to see adoption in data acquisition applications. This has been in large part due to the relative complexity of programming and deploying a reliable, secure, and high-performance wireless system. As Wi-Fi (IEEE 802.11) has become ubiquitous in the IT space, performance, reliability, and security have dramatically improved to make the technology viable for more critical tasks including data acquisition.

The steps involved in configuring and acquiring data with LabVIEW over Wi-Fi are the same as those needed to acquire signals from a local plug-in USB device. Both use the same LabVIEW application programming interface (API) to the NI-DAQmx driver, eliminating the need for code changes when adding Wi-Fi devices into existing cabled or plug-in NI data acquisition systems. While programming in LabVIEW, you can use the NI DAQ Assistant, the configuration-based wizard that walks you through defining your measurements, to quickly and easily acquire data over Wi-Fi. Both the DAQ Assistant and NI-DAQmx API in LabVIEW 8.6 make it easy to scale your Wi-Fi system from tens to hundreds of devices. You now can take advantage of the following application areas using LabVIEW 8.6 and the new NI Wi-Fi DAQ devices:

1. Machine monitoring for predictive maintenance – Machine condition monitoring helps prevent unscheduled outages, optimize machine performance, and reduce repair time and maintenance costs. With

LabVIEW and Wi-Fi vibration measurements, the installation and cabling costs associated with machine monitoring are greatly reduced. Wi-Fi data acquisition also simplifies the creation of laptop and mobile PC-based field diagnostic systems.

2. Diagnostic monitoring of structural health – Structural health monitoring involves assessing the performance of buildings and bridges through key indicators such as loads, stresses, and strains. Given the size of these structures, cabled solutions are expensive and complicated to implement. For these and other dynamic structural test applications, the high bandwidth of new NI Wi-Fi DAQ devices is ideal for continuous streaming of vibration and strain measurements for in-line analysis in LabVIEW.

3. Environmental quality monitoring Environmental monitoring ranges from examining the integrity of soil, water, and air to regulating the temperature and humidity associated with the indoor storage of critical assets such as servers or perishables. With LabVIEW and Wi-Fi thermocouple and voltage measurements, creating wireless remote monitoring solutions requires little setup or support.

Figure 3. You can use LabVIEW with new Wi-Fi DAQ devices in several applications, including machine, diagnostic, and environmental monitoring.

Additional New Features in LabVIEW 8.6

In addition to continuing to incorporate the latest parallel technologies such as multicore processors, FPGAs, and Wi-Fi measurements, LabVIEW 8.6 includes a heavy dose of new features and significant improvements designed specifically for longtime users. One of the most notable changes is the improved user experience provided by the LabVIEW platform DVD set, which vastly simplifies the installation of the LabVIEW development system, its add-on modules and toolkits, and compatible NI device drivers.

From a single dialog, you can set up the installation of software located across multiple DVDs with minimal media swaps. You also can evaluate any software on the DVD that you do not currently own for 30 days.

LabVIEW 8.6 also includes new development features to increase productivity, including the new Block Diagram Cleanup tool, which resizes and realigns items on a block diagram at the push of a button to match programming recommendations found in the LabVIEW style guidelines. In recognition of the fact that the LabVIEW palettes have become increasingly complex with the growth of the LabVIEW platform, LabVIEW 8.6 also introduces Quick Drop, so you can find and place front panel and block diagram objects using predictive text.

The world is parallel, and engineers and scientists must be able to develop measurement and automation systems based on software that can respond. By unlocking multicore processors, FPGAs, and Wi-Fi DAQ

devices, LabVIEW 8.6 provides the same benefit that has always been inherently part of its graphical programming platform – the ability to use the latest PC technologies, no matter how complex.

Michael Neal 

Michael Neal is a LabVIEW product manager. He holds a bachelor’s degree in structural engineering and a master’s degree in biomedical engineering from The University of Texas at Austin.

Gerardo Garcia 

Gerardo Garcia is a group manager for LabVIEW Real-Time and industrial control. He holds a bachelor’s degree in electrical engineering from Texas A&M University.

Experience LabVIEW 8.6.

Learn More about Products Mentioned in This Article

View more information on new LabVIEW 8.6 features and hardware products mentioned in this article:

This article first appeared in the Q3 2008 issue of Instrumentation Newsletter.

4 ratings | 3.50 out of 5
Read in | Print

Reader Comments | Submit a comment »

Old upper bound on threads
In the old days, LabVIEW had something like an upper bound of 5 [???] threads per VI. Has that upper bound been removed in LabVIEW 8.6? Can LabVIEW now support more or less "unlimited" [maybe 128 or 256] threads per VI? Thanks!
- Aug 7, 2008

 

Legal
This material is protected under the copyright laws of the U.S. and other countries and any uses not in conformity with the copyright laws are prohibited, including but not limited to reproduction, DOWNLOADING, duplication, adaptation and transmission or broadcast by any media, devices or processes.