IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Java technology  >  

Custom Math Functions for High Performance Computing

Implementations of various transcendental math functions, including "erfc", with no conditional branches.


Date Posted: May 10, 2006
Overview Requirements DownloadFAQsForum Reviews

1. Who could use these math functions?
2. Why these implementations, rather than (for example) "libm" or "gsl"?
3. What has IBM used these functions for?
4. On what processor architectures has IBM used these math functions?
5. What if I need the use of a supercomputer, application integration skills, or a warranty?


1. Who could use these math functions?

A scientist, engineer, or application integration specialist needing to implement an application where the viability depended on the performance of the math functions. Typical applications involve three-dimensional time-series modelling: for example, optimizing vehicle and engine design, investigating interactions between biomolecules, and weather modeling.
Back to top Back to top

2. Why these implementations, rather than (for example) "libm" or "gsl"?

Functions in system libraries are usually implemented for accuracy and generality; for example, the "sine" function would likely give you the sine of every angle representable as a double-precision number, accurate to one least-significant bit. But for a particular modeling application, you may know that you are dealing only with angles within a restricted range (for example, "up to one complete turn"); and you may know that "five significant figures" will be at least as precise as other approximations in the model. In the case where "time to solution" or "cost to solution" depends on the performance of the math functions, these implentations can make the difference between a mere research tool and commercial viability.
Back to top Back to top

3. What has IBM used these functions for?

These functions have been used to support the IBM BlueGene Science program, implementing an all-atoms model of Rhodopsin (a protein involved in the process of vision) on a 16384-processor supercomputer. As well as testing that the "high performance" sine function produces results that match the "system library" sine function, the IBM scientists will validate that the protein model produces results that are physically credible and that match a version of the model using "system library" functions for a small number of time steps.
Back to top Back to top

4. On what processor architectures has IBM used these math functions?

IBM has used these functions on "Book E" PowerPC processors, specifically the "440" and "440d" embedded processors. The IBM xlC compiler succeeds in generating optimized object code from this source code and in exploiting the SIMD extensions in the 440d.
Back to top Back to top

5. What if I need the use of a supercomputer, application integration skills, or a warranty?

Your IBM salesman is always pleased to discuss your need for IBM's professional services.
Back to top Back to top
Download now Download now

Related technologies

For platform(s):
Linux pSeries

For topics:
high-performance computing (HPC), IBM Blue Gene/L architecture, modeling, Parallel computing


 

    About IBM Privacy Contact