LabView 2010 Hits NI Week

Aug. 3, 2010
National Instrument's releases the latest LabView 2010 at NI Week incorporating new LLVM-based compiler technology

LabView compiler flow

LabView DFIR transforms

Boolean table enhancements

Customer enhancements

National Instruments latest incarnation of LabView, LabView 2010, was recently announced at NI Week 2010. This year brings the usual host of changes including major enhancements to the LabView compiler technology.

LabView 2009 was the first version to incorporate the Dataflow Intermediate Representation (DFIR). DFIR was an internal represenation utilized by the LabView compiler chain (Fig. 1).  It matches the graphical G language used by LabView. DFIR allows manipulation by the compiler and LabView 2010 takes advantage of this to implement a number of transforms such as common subexpression reduction and dead code elimination (Fig. 2). These are common compiler optimization techniques being applied to G.

Another change in the compiler flow is the use of the Low Level Virtual Machine (LLVM). LLVM is an open source project that is a collection of modular and reusable compiler and toolchain technologies. LLVM handles the translation to machine code providing National Instrument's with a robust, open source platform. Subsequent improvements in LLVM will provide better performance to LabView applications.

The LabView compiler takes advantage of the following LLVM optimizations:

  • Instruction combining
  • Jump threading
  • Scalar replacement of aggregates
  • Conditional propagation
  • Tail call elimination
  • Expression reassociation
  • Loop invariant code motion
  • Loop unswitching and index splitting
  • Induction variable simplification
  • Loop unrolling
  • Global value numbering
  • Dead store elimination
  • Aggressive dead code elimination
  • Sparse conditional constant propagation
     

DFIR and LLVM provide performance improvements through optimization. This makes LabView applications faster. The improvement ranges from 20% to almost 200% depending upon the application. Even real time controls benefit from the compiler changes.

Customers Change LabView

National Instrument's listens to their customers. Just check out the LabView Idea Exchange website. For example, the boolean table interface had a little facelift (Fig.  3) in LabView 2010. This is where National Instrument's took a number of the new features from the LabView Idea Exchange (Fig. 4). I especially like the new wire labels.

Most of the ideas from the exchange are user interface enhancements. They are often the rough edges that rub designers the wrong way because features are hard to use or understand. Often changes like these can significantly improve some developers productivity.

Another area where developers will see improvement is with the addition of the device driver finder. There are hundreds of different device types that can be used with LabView from PXI boards to CompactRIO and Single Board RIO modules.

The Add-on Developer Program is also tied into delivery of even more interfaces. The LabView Tools Network is a home foro NI toolkits and third-party add-ons. Third-party add-ons on the LabVIEW Tools Network must meet National Instrument's Compatible with LabVIEW guidelines. An example is JKI's Add-Ons for LabView.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!