Skip to main content

Software  >  Rational  >  

Mathematical Acceleration Subsystem (MASS) libraries for AIX - previous versions

 Downloadable files
 
Abstract
The MASS libraries for AIX consist of a set of mathematical functions for C, C++, and Fortran-language applications that are tuned for specific POWER architectures.
 
Download Description
Each successive MASS version includes the material from previous versions that has not been changed, except that: versions 3.0 and up do not include the library that runs only on POWER2 processors; versions 3.2 and up do not include the AIX 4 version of the POWER4 library; and versions 4.3 and up no longer include the AIX 4 libraries.

Version 1.0
- Introduces a library of mathematical intrinsic functions, libmass.a, that offers tuned alternatives for functions in the system math library supplied with AIX.

Version 2.1
- Adds two new libraries of vector function subroutines: libmassv.a for general use, and libmassvp2.a for use only on POWER2 machines. These vector subroutines compute result vectors as functions of their argument vectors.

Version 2.2
- Adds functions to the vector libraries.

Version 2.3
- Includes improved scalar sqrt and rsqrt functions.
- Adds more vector functions.
- Introduces a Fortran source file, libmassv.f, containing simple loops for the MASS vector functions that can be used on non-IBM systems.

Version 2.4
- Adds a tanh built-in function to the scalar library libmass.a.
- Slightly improves the sinh and x**y functions.
- Adds short-precision vector functions and vector atan2 to the general vector library libmassv.a.
- Revises the pow (C/C++) and x**y (Fortran) functions to accept negative x arguments with integer y arguments.

Version 2.5
- Makes the general vector library, libmassv.a, safe for multi-threaded applications where MASS functions might be called by two threads simultaneously.
- Further tunes some of these vector functions.
- Adds a new POWER3 vector library, libmassvp3.a (also thread-safe), with some routines tuned for the POWER3 architecture.
- Adds a dnint routine to the scalar library, libmass.a.

Version 2.6
- Makes the scalar library, libmass.a, safe for multi-threaded applications where MASS functions might be called by two threads simultaneously.
- Shows minor changes in performance of the scalar library.

Version 2.7
- Replaces twelve functions (forms of exp, log, sin, and cos) in the general vector library, libmassv.a, with versions rewritten for better short-precision performance and better performance for the POWER3 architecture.
- Includes the new functions in the architecture-specific vector libraries.

Version 3.0
- Augments the existing libmass.a, libmassv.a, and libmassvp3.a libraries with 64-bit versions of all functions, except vatan2 and vsatan2. The MASS libraries will now link to 32-bit or 64-bit applications.
- Adds a new POWER4 vector library, libmassvp4.a, that includes implementations of the vdiv, vsdiv, vrec, and vsrec functions that have been tuned for the POWER4 architecture.
- Removes the functions vdsign, vdfloat, and vidint from the libraries.

Version 3.2
- Adds POWER3- and POWER4-tuned versions of vacos and vasin to libmassvp3.a and libmassvp4.a, respectively.
- Adds POWER4-tuned versions of vlog, vexp, vrsqrt, vsqrt, and vtan, as well as their single-precision versions, vslog, vsexp, vsrsqrt, vssqrt, and vstan, to libmassv4.a.
- Fixes various bugs.
- Removes the AIX 4 version of libmassvp4.a (POWER4 machines do not run AIX 4).

Version 3.2.1
- Corrects some misspelled entry-point names.
- Updates the LICENSE and mass.html files.
- Adds some missing prototypes to massv.h.

Version 3.3
- Replaces vsqrt, vssqrt, vexp, vlog, vrec, and vdiv in libmassvp4.a with consistent versions.
- Improves the algorithms used by vrec and vdiv in libmassvp4.a.
- Adds new consistent POWER4-tuned vsin and vcos routines to libmassvp4.a. (There are some performance differences for short vectors.)

Version 3.4
- Adds the following new POWER4-tuned functions to libmassv.a, libmassvp3.a, and libmassvp4.a: vcosh, vscosh, vexpm1, vsexpm1, vlog10, vslog10, vlog1p, vslog1p, vpow, vspow, vsasin, vsacos, vsinh, vssinh, vtanh, vstanh.
- Improves the algorithms used by vsrec and vsdiv in libmassvp4.a to give better performance on GP POWER4 machines.
- Contains various bug fixes.
- Replaces the following routines in libmassvp4.a with consistent versions: vacos, vasin, vatan2, vrsqrt, vscos, vsdiv, vexp, vsrec, vssin. (There are some performance differences for short vectors.)

Version 4.1
- Adds the file mass.include to provide the Fortran interface block for the rsqrt scalar function.
- Adds the file mass.h to provide the C/C++ prototype for the dnint scalar function.
- Revises the vcosisin and vscosisin functions to allow use on AIX 4.x, where the _Complex data type is not supported.
- Adds the file libmassv.c to provide the vector source library code for C/C++.

Version 4.3
* Adds a new vector library libmassvp5.a that includes the following routines tuned for POWER5: vcbrt vrcbrt, vpopcnt4, vpopcnt8, vrqdrt, vqdrt, vrsqrt, vsqrt, vscbrt, vsrcbrt, vsrqdrt, vsqdrt, vsrsqrt, vssqrt. These new routines are also included in the other vector libraries.
* Improves the performance of vcbrt, vrcbrt, vqdrt, vscbrt, vsrcbrt, and vsqdrt in libmassv.a, libmassvp3.a, and libmassvp4.a.
* Adds new routines expm1 and log1p to libmass.a, and improves the performance of atan, cos, cosh, ** (Fortran), pow (C/C++), exp, sin, sinh, tan, and tanh in libmass.a.
* Adds the following routines, tuned for POWER4, to libmassvp4.a: atan, cosh, exp, expm1, log1p, pow, sin, cos, sinh, tan, tanh, vcbrt, vqdrt, vrcbrt,
* Contains various bug fixes.
 
Prerequisites
Note: If you are using any of the following products, be aware that a fully-supported version of the MASS libraries is shipped with the product, while any MASS libraries obtained from this download are not officially supported.

* IBM XL C/C++ Enterprise Edition for AIX, V7.0 or higher
* IBM XL C Enterprise Edition for AIX, V7.0 or higher
* IBM XL Fortran Enterprise for AIX, V9.1 or higher
 
 
Installation Instructions
The MASS libraries are packaged as a compressed tar file, MASS_n.tar.Z, where n denotes the version number (for instance, 3.0). Note that beginning with version 3.0 of MASS, separate packages are required for AIX version 4.3.x and version 5 because of differences in the platforms.

The .tar package contains the following files, depending on the version:

* libmass.a - MASS scalar library.
* libmassv.a - MASS vector library for general use. (v2.1 and up)
* libmassvp3.a - MASS vector library with functions tuned for the POWER3 architecture. (v2.5 and up)
* libmassvp4.a - MASS vector library with functions tuned for the POWER4 architecture. (v3.0 and up)
* libmassvp5.a - MASS vector library with functions tuned for the POWER5 architecture. (v4.3 and up)
* libmassv.f - Fortran source file of simple loops for the MASS vector functions, for use on non-IBM machines. (v2.3 and up)
* libmassv.c - C/C++ source file of simple loops for the MASS vector functions, for use on non-IBM machines. (v4.1 and up)
* LICENSE - MASS license.
* mass.include - Header file containing the Fortran interface block for the rsqrt scalar function. (v4.1 and up)
* massv.include - Header file containing the Fortran interface blocks for the vector functions. (v4.1 and up)
* mass.h - Header file containing the C/C++ prototype for the dnint scalar function. (v4.1 and up)
* massv.h - Header file containing C/C++ prototypes for the vector functions. (v3.0 and up)
* mass.html - MASS technical documentation. (v3.4 and lower)

The MASS libraries are more convenient to use when they are installed with root access and linked to the conventional /usr/lib/ directory because the user can specify the shorthand -lmass flags during compilation, instead of specifying an explicit path for the libraries. If you have root access, follow the instructions for installing as root. Otherwise, follow the instructions for installing as non-root.

The tar file creates the subdirectory, mass, in the current directory.

Installing as Root
----------------------
1. login as root
-- or --
su to root

2. cd /usr/lpp
MASS files are restored to the directory /usr/lpp/mass.

3. zcat /tmp/MASS_n.tar.Z | tar -xvf -
-- or --
uncompress /tmp/MASS_n.tar.Z
tar -xvf /tmp/MASS_n.tar

4. ln -s /usr/lpp/mass/libmass.a /usr/lib/libmass.a
ln -s /usr/lpp/mass/libmassv.a /usr/lib/libmassv.a
ln -s /usr/lpp/mass/libmassvp3.a /usr/lib/libmassvp3.a
ln -s /usr/lpp/mass/libmassvp4.a /usr/lib/libmassvp4.a
ln -s /usr/lpp/mass/libmassvp5.a /usr/lib/libmassvp5.a

(This step creates a symbolic link from the /usr/lpp/mass/libmass.a to /usr/lib/libmass.a etc. so that users can specify a flag, such as -lmass, to link MASS libraries. Note that not all versions contain all the libraries.)

Installing as Non-Root
----------------------------
1. cd to the directory where the MASS subdirectory should be created

2. zcat /tmp/MASS_n.tar.Z | tar -xvf -
-- or --
uncompress /tmp/MASS_n.tar.Z
tar -xvf /tmp/MASS_n.tar

Note: Some Web browsers will uncompress the tar file before restoring. If the previous instructions result in the error message:

MASS_n.tar.Z: not in compressed format

then try the following:

mv MASS_n.tar.Z to MASS_n.tar
tar -xvf /tmp/MASS_n.tar
 
Download package
Download RELEASE DATE LANGUAGE SIZE(Bytes) Download Options
MASS Version 4.3 for AIX 56/20/2007English1628633FTP
MASS Version 4.1 for AIX 512/5/2005English662473FTP
MASS Version 4.1 for AIX 4.3.x12/5/2005English443449FTP
MASS Version 3.4 for AIX 5 4/12/2004English644411FTP
MASS Version 3.4 for AIX 4.3.x4/12/2004English436464FTP
MASS Version 3.3 for AIX 512/19/2003English284331FTP
MASS Version 3.3 for AIX 4.3.x12/19/2003English186485FTP
MASS Version 3.2.1 for AIX 55/29/2003English301682FTP
MASS Version 3.2.1 for AIX 4.3.x5/29/2003English217471FTP
MASS Version 3.2 for AIX 511/28/2002English302195FTP
MASS Version 3.2 for AIX 4.3.x11/28/2002English217619FTP
MASS Version 3.0 for AIX 512/13/2001English257531FTP
MASS Version 3.0 for AIX 4.3.x12/13/2001English257531FTP
MASS Version 2.74/20/2000English155252FTP
MASS Version 2.610/18/1999English127075FTP
MASS Version 2.5 1/26/1999English127031FTP
MASS Version 2.412/16/1997English100081FTP
MASS Version 2.310/31/1996English94607FTP
MASS Version 2.2 12/14/1995English69099FTP
MASS Version 2.19/22/1995English35724FTP
MASS Version 1.02/23/1995English23803FTP
 
Technical support
The software provided in this Web download is not officially supported by IBM. However, you can send queries to the following e-mail address:

masslib@ca.ibm.com
 
Cross Reference information
Segment Product Component Platform Version Edition
pSeries Unix Servers (incl pSeries Intellistation)pSeries - Enterprise Servers
RS/6000 (Servers and Workstations)RS/6000 Enterprise Servers
Operating SystemsAIX familyAIXAll Versions
 

Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.
Rate this page
Please take a moment to complete this form to help us better serve you.
This material provides me with the information I need.




This material is clear and easy to understand.




Did the information help you to achieve your goal?
What updates, improvements, or related information would you like to see in this document?
Your response will be used to improve our document content. Requests for assistance, if applicable, should be submitted through your normal support channel as we cannot respond from this site.
Input the verification number to submit feedback:
Document information
 Product categories:
 Software
 Software Development
 Traditional Progamming Language & Compilers
 Mathematical Acceleration Subsystem
 Libraries
 Operating system(s):
  AIX, AIX5L, AIXL
 Software version:
  1.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0, 3.2, 3.2.1, 3.3, 3.4, 4.1, 4.3
 Software edition:
  All Editions
 Reference #:
  4007649
 IBM Group:
 Software Group
 Modified date:
 2007-06-25

Translate My Page
 
 

Rate this page

Help us improve this page. Your response will be used to improve our document content. Requests for assistance, if applicable, should be submitted through your normal support channel as we cannot respond from this site.