SCG Software
DOE Logo Office of Science Logo LBNL Logo

ARPREC (ARbitrary PRECision package) is a library implementing arbitrary precision arithmetic with integer, real and complex datatypes, including common transcendental functions and quadrature routines. It is implemented in C++, and has Fortran90 interface. It exploits IEEE Floating-Point Standard, and improves Bailey's MPFUN, both in speed and functionality.

PARATEC (PARAllel Total Energy Code) is a package designed primarily for a massively parallel computing platform and can run on serial machines. The code performs ab-initio quantum-mechanical total energy calculations using pseudopotentials and a plane wave basis set. The pseudopotentials are of the standard norm-conserving variety (typically Hamann-Schulter-Chiang or Trouillier-Martins). Forces and stress can be easily calculated with PARATEC and used to relax the atoms into their equilibrium positions.

PEtot is a pseudopotential planewave electronic structure calculation package using density functional theory. It can use norm conservation pseudopotential and ultra-soft pseudopotential. It includes LDA, LSDA and GGA exchange and correlation functional. It calculates the total energy and relaxes the atoms according to the total energy. It is written with Fortran 90 and parallelized by MPI. It includes special subroutines for charge density mixing, real space implementation of the nonlocal potential, iterative eigen state solver, and isolated system (not periodic) calculations.

SuperLU is aleading scalable solver for sparse linear systems using direct methods. It contains a number of performance-enhancing techniques to improve the algorithms in SuperLU, such as blocking, asynchronous scheduling, static pivoting, and 2D matrix-processor mapping, which are the keys for achieving high speed and scalability on modern cache-based superscalar processors, SMP, and MPP systems. SuperLU is widely adopted in research and commercial use, with thousands of users. It has been integrated into the otherpopular solvers such as PETSc and Hypre. The DOE application codes that use SuperLU include NIMROD, Omega3P, DSpice, NIKE, Trilinos, and several computational plasma physicsprojects at PPPL. SuperLU is used commercially in Mathematica, FEMLAB,Python, and the HP mathematical library, among others.

XBLAS (Extended and Mixed Precision BLAS)is part of a newly emerged BLAS Standard. In XBLAS, the input and output arguments only allow single or double, i.e. the same as normal BLAS. But at runtime, the users can specify an internal precision level higher than that of the input andoutput. The highest internal precision supported is 128-bits. We use the double-double technique by Bailey and Briggs to implement this extra precision. XBLAS can help solve many ill-contioned problems that arise in numerical linear algebra, with very little speed penalty.


Members Projects Seminars SCG Main Page