C/C++ and Fortran

MASS high-performance mathematical function libraries

By Archive User posted Tue September 15, 2009 01:10 PM


Originally posted by: Robert Enenkel

Hello -- I'm the technical leader for the IBM MASS math libraries. MASS stands for Mathematical Acceleration Subsystem, and consists of libraries of mathematical functions specifically tuned for optimum performance on various computing platforms.

MASS was originally launched by IBM in 1995, and has been continuously improved and expanded since then. I've been involved with MASS since 2002.

There are currently versions of MASS for all the POWER processors, running AIX or Linux operating systems. There are also versions for BlueGene/L and BlueGene/P, as well as the Cell/B.E.

The libraries contain accelerated implementations of elementary functions such as the trigonometric and hyperbolic functions and their inverses; power, logarithm, exponential, error function, and others. Complete lists are available on the MASS Web page, the URL of which is given below.

There are both scalar and vector libraries, and for Cell/B.E. there is a SIMD library as well.

The libraries are callable from C, C++, or Fortran source programs. The IBM XL C/C++ and IBM XL Fortran compilers are also capable of recognizing opportunities to use MASS to accelerate the source program, and invoking it automatically without the need for source-program changes.

The MASS libraries are packaged with the IBM XL C/C++ and IBM XL Fortran compilers, and are also available free-of-charge on the MASS Web page, for users of other compilers (such as gcc) for the target hardware.

You can find out more about the MASS libraries at the MASS Web page, http://www.ibm.com/software/awdtools/mass . If you have questions about MASS, you can post them on this blog, or send them to me at masslib@ca.ibm.com, both of which I monitor.

Happy numerical computing!


Robert F. Enenkel, Ph.D.,
Compilers/Numerical Computing, IBM Toronto Laboratory,
Mail Stop D2, 8200 Warden Ave., Markham, Ontario, Canada, L6G 1C7
1 view