130.socorro
SPEC MPI2007 Benchmark Description

Benchmark Name

130.socorro


Benchmark Author

Developed by a number of contributors from Sandia National Labs, Vanderbilt University, and Wake Forest University.

Our main point of contact is Alan Tackett at Vanderbilt University. (alan.tackett@accre.vanderbilt.edu)


Benchmark Program General Category

DFT

Benchmark Description

Socorro is a modular, object oriented code for performing self-consistent electronic-structure calculations utilizing the Kohn-Sham formulation of density-functional theory. Calculations are performed using a plane wave basis and either norm-conserving pseudopotentials or projector augmented wave functions. Several exchange-correlation functionals are available for use including the local-density approximation (Perdew-Zunger or Perdew-Wang parameterizations of the Ceperley-Alder QMC correlation results) and the generalized-gradient approximation (PW91, PBE, and BLYP). Both Fourier-space and real-space projectors have been implemented, and a variety of methods are available for relaxing atom positions, optimizing cell parameters, and performing molecular dynamics calculations.

MPI Usage

MPI usage consists mostly of point to point communications: MPI_Send, MPI_Irecv, MPI_Waitany. There do exist a few collective MPI operations as well.

This application seems to spend around 17% of its running time in MPI operations, by one measure. Most messages seem to be between 4-16 KB in size, although some large messages are passed as well.


Input Description

Input consists of a set of files:

There may exist other input files, which are documented in the Socorro User Guide.


Output Description

A series of output files are produced, which are not validated for the purposes of the SPEC benchmark. The code also produces output on the stdout stream detailing the density calculation at each step. This information is validated. The original code produces this output as an iterative process, which is not optimal for the purposes of a benchmark. Thus, we have fixed the number of iterations at 20, which has been shown to be more than sufficient for convergence of the datasets on all currently known systems that we have been able to test.

Programming Language

Primarily Fortran 90, with some minor amounts of C code.

Also includes FFTW, which is written in C.


Known portability issues

Users will need to specify a number of portability flags, which are described as follows:

For base tunings, you are required to use the BLAS and LAPACK functions found in the specblas.F90 source file. For peak tunings, you are free to substitute these functions with functions provided by a library containing optimized versions for your system, e.g. ACML or MKL.


Version and Licensing

This code is based on Socorro 1.0, with substantial bugfixes and enhancements from the developers in response to issues raised by SPEC contributors.

Socorro and FFTW are both released under the GNU General Public License.


References


Last updated: February 6, 2007