|Date||Jun 1, 2007|
|Speaker||Lothar Wenzel and Darren Schmidt (National Instruments)|
|Topic||Attacking Processor Architectures From Two Mathematical Angles|
In the past decade, the evolution of processor architectures has placed exceptional demands on the deployment of mathematical algorithms. Portable devices contain new more powerful embedded processors making it possible to solve more advanced mathematical problems. The increased use of DSPs and FPGAs requires both specialized libraries and tools for developing algorithms for these targets. Now, with the move to multi-core processors in mainstream PCs, the numeric libraries optimized for single core processors struggle to make use of the additional processing resources. In the worst cases, the performance of these libraries degrades on multi-core systems due to data dependencies and communication overhead.
Recognizing these challenges, National Instruments (NI) is working on two fronts to make the development and deployment of numeric algorithms easier for the math and engineering communities. First, NI has joined with vendors in the mathematics industry (INRIA, MapleSoft, and PTC) and scientist/engineers in academia, to form the Numerical Mathematics Consortium (NMC). The NMC is defining the fundamental mathematical components of math algorithms used in a wide range of applications. This initiative follows the successes of prior de-facto standards, such as BLAS and LAPACK, and defines the next generation of mathematical functions found in almost all general-purpose math packages.
The NMC's approach to the standard is significantly different from recent standards efforts. By specifying function semantics and not syntax, the NMC's function definitions are applicable to many mathematical arenas. They provide a solid foundation for math algorithm development and allow vendors to promote their programming paradigm which may target specialized hardware. This approach reduces the learning curve for both academia and industry by supplying a uniform, consistent set of math definitions for fundamental functions. For those wishing to develop optimal code solutions for a specific processor, the NMC defines the basic set of math functions needed to support algorithm development on any platform.
While NI works with those in the NMC to bridge the gap between present-day algorithm development and tomorrow's architecture, we are also committed to solving present-day engineering problems for real world, real-time applications. The availability of low-cost multi-core systems enables LabVIEW, NI's graphical system design tool, to combine sophisticated data acquisition systems with demanding numerical tasks. In a typical scenario, information about a system is based on direct or derived measurements and the acquired data is used to solve linear or even nonlinear elliptic partial differential equations. The results generated by the PDE-solver might be used as feedback to the running process. Such a system can be very demanding from a real-time standpoint and might require loop-times in the 1 ms range.
To comply with such specifications, multi-core architectures and other techniques such as FPGA-based components and high-speed networking are supported by LabVIEW. We provide benchmarks for specific elliptic PDE solvers based on 8- and 16-core machines using standard quad-core processors where multi-board deployments require fast networking. We also report multi-core performance numbers for more elementary operations such as FFT, DST and matrix operations.
You can find more information on the NMC at http://www.numath.org and on NI's LabVIEW product line at http://www.ni.com/labview.
We thank the generous support of MIT IS&T, CSAIL, and the Department of Mathematics for their support of this series.