Parallel Processing Enables Rapid Computation of X-ray Absorption
March 2001
A popular computer code for X-ray absorption spectroscopy (XAS) now
runs 20-30 times faster, thanks to a cooperative effort of the
Information Technology Laboratory (ITL) and the Materials Science and
Engineering Laboratory (MSEL).
XAS is widely used to study the atomic-scale structure of materials,
and is currently employed by hundreds of research groups in a variety
of fields, including ceramics, superconductors, semiconductors,
catalysis, metallurgy, geophysics, and structural biology. Analysis
of XAS relies heavily on ab-initio computer calculations to model
x-ray absorption in new materials. These calculations are
computationally intensive, taking days or weeks to complete in many
cases. As XAS becomes more widely used in the study of new materials,
particularly in combinatorial materials processing, it is crucial to
speed up these calculations.
One of the most commonly used codes for such analyses is
FEFF.
Developed at the University
of Washington, FEFF is an automated program for ab initio multiple
scattering calculations of X-ray Absorption Fine Structure (XAFS) and
X-ray Absorption Near-Edge Structure (XANES) spectra for clusters of
atoms. The code yields scattering amplitudes and phases used in many
modern XAFS analysis codes. Feff has a user base of over 400
research groups, including a number of industrial users, such as Dow,
DuPont, Boeing, Chevron, Kodak, and General Electric.
To achieve faster speeds in FEFF, James Sims of the ITL Mathematical
and Computational Sciences Division worked with Charles Bouldin of
the MSEL Ceramics Division to develop a parallel version,
FeffMPI.
In modifying the code to run on the NIST parallel processing clusters
using a message-passing approach, they gained a factor of 20-30
improvement in speed over the single processor code.
Combining parallelization with improved matrix algorithms may allow the
software to run 100 times or more faster than current single processor
codes. The latter work is in process.
The parallel version of the XAS code is portable, and is now also operating
on parallel
processing clusters at the University of Washington and at DoE's
National Energy Research Scientific Computing Center (NERSC).
A speedup of 30 makes it possible for researchers to do calculations
they only dreamed about before. One NERSC researcher has reported
doing a calculation in 18 minutes using FeffMPI on the NERSC IBM SP2
cluster that would have taken 10 hours before. In 10 hours this
researcher can now do a run that would have taken months before, and
hence would not have been even attempted.
|