Benchmarking Performance with LabVIEW on Apple Hardware
Overview
LabVIEW is a programming language used by millions of engineers and scientists to develop sophisticated measurement, test, and control systems using intuitive graphical icons and wires that resemble a flowchart. LabVIEW offers unrivaled integration with thousands of hardware devices and provides hundreds of built-in libraries for advanced analysis and data visualization. The LabVIEW platform is scalable across multiple targets and operating systems, and it has been the industry standard since 1986.
Download and evaluate LabVIEW for free. Windows | Mac OS X
Download the VIs Apple used to benchmark performance. MulticoreDemo.llb
More information on National Instruments products for Mac OS is available on our LabVIEW for Mac page. After installing LabVIEW, download the attached example library to discover LabVIEW's integrated multicore support.
Benchmark Descriptions
The attached library contains three LabVIEW VIs that highlight the additional computational power provided by multicore processors. In each VI selecting multiple channels (2, 4, 8, 16) results in parallel instances of the same calculation. Since LabVIEW is optimized for multiple processors, increasing the number of channels calculated in parallel yields substantial performance increases on multicore systems.
The Multicore FIR VI implements a lowpass Finite Impulse Response (FIR) filter on a simulated input waveform. This calculation is performed repeatedly until stopped by the user. The total number of calculations performed per second is displayed on the front panel, as well as the speedup provided by additional cores.

The Multicore Spectrum VI implements a lowpass FIR filter on a simulated input waveform. The resulting time-domain signal is fed through a rectangular scaled window and then fed through a Fast Fourier Transform (FFT) with a Hanning window. The frequency domain signal is graphed on the front panel. This VI continuously performs this spectrum analysis until stopped by the user.

The Multicore EigenValue VI generates uniform white noise, reshapes this data to a 2D square array, and then calculates the array's Eigenvalues and Eigenvectors. The total number of calculations performed per second is displayed on the front panel as well as the speedup provided by additional cores.

Reader Comments | Submit a comment »
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
