Mathematical elementary and special functions (such as exponential, logarithm, sine, cosine, gamma function, etc.) are important, widely used software. They are basic building blocks in a wide range of applications, from scientific computing, weather modelling, and medical imaging, to financial computing and business analytics. Because large applications may spend a significant portion of their time in mathematical libraries, math function performance is important, and requires processor-specific tuning. Processor-tuned high-performance math libraries contribute significantly to the competitiveness of the target processors.
IBM Mathematical Acceleration Subsystem (MASS) is a set of mathematical libraries specifically tuned for the Blue Gene, Cell Broadband Engine, and POWER families of processors. This presentation describes some of the techniques used in MASS to achieve fast, accurate mathematical functions. We discuss several CAS projects that have contributed to MASS, in the areas of vector instruction-set exploitation, the Coconut tool and domain-specific language, benchmarking of processors under development for hardware/software co-design, and exploitation of field-programmable gate array (FPGA) accelerators.