Embedded software tool vendor National Instruments has developed a multi-core version of its LabView graphical programming tool for the x86 architecture.
LabView 8.5 adds multicore support for PCs, embedded boards based on X86 processors and FPGA development systems. Running threads across multiple cores is allowing significant speed up of applications developed on the PC, such as test systems.
More importantly for embedded designed, NI has also made its real time operating system multi-core aware so that processes can be allocated to individual cores either manually or automatically to make the most of the system resources.
“Engineers and scientists depend on continually improving PC processors, operating systems and bus technologies to drive increased performance in their measurement and control systems,” said Dr. James Truchard, President, CEO and co-founder of National Instruments. “With the shift toward multicore processors on the PC, LabVIEW programmers benefit from a simplified graphical approach to multithreading, making it possible for engineers and scientists to maximise the performance of multicore technology with little to no change to their applications.”
With the parallel dataflow language of LabVIEW, users can easily map their applications to multicore and FPGA architectures for data streaming, control, analysis and signal processing. Building on the automatic multithreading capability of earlier versions, LabVIEW 8.5 scales user applications based on the total available number of cores and delivers enhanced thread-safe drivers and libraries to improve throughput for RF, high-speed digital I/O and mixed-signal test applications.
LabVIEW 8.5 also provides symmetric multiprocessing (SMP) with the LabVIEW Real-Time environment where designers of embedded and industrial systems automatically can load balance tasks across multiple cores without sacrificing determinism. With the latest version of LabVIEW, users can manually assign portions of code to specific processor cores to fine-tune real-time systems or isolate time-critical sections of code on a dedicated core. To meet the more challenging debugging and code optimisation requirements of real-time multicore development, engineers and scientists can use the new NI Real-Time Execution Trace Toolkit 2.0 to visually display timing relationships between sections of their code and the individual threads and processing cores where the code is executing.
The inherent parallelism of LabVIEW maps onto FPGA applications as well with an FPGA Project Wizard that automates I/O configuration, IP development and overall setup for common I/O, counter/timer and encoder applications. Using the FPGA Project Wizard, engineers and scientists can automate the generation of more complex high-speed DMA data transfer code. Additionally, LabVIEW 8.5 offers multichannel filtering and PID control functions commonly needed in machine automation to significantly reduce FPGA resources for high-channel-count applications.