NAG, Star-P and MATLAB®
Supercomputing from Your Desktop

Streaming Video
Demonstration

Extending
Star-P
Computing with
Numerical
Algorithm
Group's
Libraries

Numerical Algorithms Group (NAG) and Interactive Supercomputing (ISC) have teamed to deliver breakthrough productivity in programming parallel systems, clusters, and grids. Using Interactive Supercomputing's Star-P platform, NAG users and MATLAB® users looking to solve ever larger problems can leverage the quality and accuracy of the NAG libraries in a parallel computing environment.

  • Connect the NAG libraries to the Star-P parallel platform
  • Access the libraries directly from within MATLAB®
  • Solve problems too large and complex for your desktop
  • Save development time and accelerate computations

What are the NAG libraries?

NAG specializes in creating software libraries for solving mathematical, statistical and data mining problems. The NAG C Library is the largest and most comprehensive collection of mathematical and statistical algorithms for C and C++ programmers available today. The NAG Fortran Library contains nearly 1,500 routines making it the largest commercially available collection of mathematical and statistical algorithms available. The NAG SMP Library, used by some of the world's most prestigious super computing centers, makes optimal use of the processing power and shared memory parallelism of the Symmetric Multi-Processor (SMP) systems. The NAG Parallel Library enables applications to take advantage of distributed memory parallel computers and was designed to be as close as possible to equivalent routines in the NAG Fortran Library.

Supercomputing Without Recoding

Many MATLAB® users are facing the daunting prospect of recoding their application in C or Fortran to run ever larger and more complex models that exceed the available power and memory of their desktops. Many of these users also want to leverage the power and accuracy of the NAG computational libraries from within MATLAB®. To address both of these challenges, NAG and Interactive Supercomputing have teamed up to allow MATLAB® to access NAG functions in a supercomputing environment using the Star-P parallel computing platform.

Accessing NAG Libraries from Matlab using Star-P Connect

Star-P Connect is a powerful API/SDK tool designed to connect MATLAB® and other very high level languages (VHLLs) to powerful commercial libraries such as the NAG C and Fortran libraries. Star-P Connect includes an Invocation API for the MATLAB® programmer and a Server API for a C, C++ or FORTRAN programmer. The Server API consists of a Data-Parallel component for adding and using MPI based functions such as those found in the NAG Parallel Library, and an equivalent Task-Parallel component for interfacing with serial or multi-threaded libraries such as those found in the NAG SMP library

NAG diagram - click to enlarge
View Larger Image >

Adding a NAG Library Function in 4 Easy Steps

Using Star-P Connect, a MATLAB® user can easily access NAG computing functions for both task-parallel and data-parallel computing by following a simple four-step process.

  1. First, a Star-P Connect module or "wrapper" is created to register the new add-on function(s) with Star-P and to assure syntax matching.
  2. Next, the Star-P Connect module is compiled and converted to a shared object form, making it available from within the Star-P + MATLAB® environment.
  3. Then the module is loaded into the Star-P + MATLAB® environment.
  4. After the module has been loaded, the user can access the NAG library function using the appropriate Star-P compute commands to trigger the computation.

Example: 1-D FFT of 4 GB Matrix

Fast Fourier transform of a 4 GB matrix A good example of the power of using Star-P to connect MATLAB® to powerful NAG functions is the Fast Fourier transform (FFT) of a 4 GB matrix. As seen from this example, users can expect a nearly linear reduction in processing time for a given number of processors.

For more information on the NAG libraries, please visit the NAG website: www.nag.co.uk

For a more detailed description of how to add NAG functions to MATLAB®, please refer to Extending Star-P Computing with Numerical Algorithms Group's Libraries.