Skip to main content
Argonne’s Mathematics and Computer Science Division is incorporating new numerical methods into portable, high-performance software and testing of that software in large-scale simulations of interest to the scientific community.

Argonne’s Mathematics and Computer Science Division (MCS) has been a world leader in the development of robust, reliable software for almost half a century. Today, thousands of researchers in academia and industry use our software in applications that include computational chemistry, protein structure, astrophysics, climate modeling, and reservoir simulation. 

Software includes:
  • ADIC is a tool for the automatic differentiation of programs written in ANSI C. Given the source code and a user’s specification of dependent and independent variables, ADIC generates an augmented C code that computes the partial derivatives of all of the specified dependent variables with respect to all of the specified independent variables in addition to the original result.
  • ADLB (Asynchronous Dynamic Load Balancing) is an MPI-based software library designed to help rapidly build scalable parallel programs. It provides a master/worker system with a put/get API for task descriptions, thus allowing workers to add work dynamically to the system. The library has been used as an execution engine for complicated applications such as Green’s function Monte Carlo and higher level many-task” programming models.
  • Aesop is a high-productivity programming language designed for highly concurent services.
  • Casper is a proceess-based asynchronous progress model for MPI RMA communication on multicore and many-core architectures.
  • CODES is a detailed, accurate, and highly parallel simulation toolkit for exascale storage.
  • Darshan is a scalable HPC I/O characterization tool, designed to capture an accurate picture of application I/O behavior, including properties such as patterns of access within files, with minimum overhead.
  • ExM provides support for extreme-scale, many-task applications.
  • FOAM (Fast Ocean-Atmosphere Model) is a coupled ocean/atmosphere model that incorporates all the physics needed for multicentury simulations. It uses a combination of improved ocean model formulation and reduced-resolution atmosphere model to reduce computational requirements by a factor of ten relative to similar models. It uses parallel processing techniques to allow execution on parallel platforms that are more cost-effective than the vector multiprocessors traditionally used for climate modeling.
  • Globus Online is a file transfer and synchronization service that is specifically geared to the big data needs of the research community. In particular, it provides reliable, high-performance, secure file transfer.
  • Globus Toolkit is a collection of software tools that make it easier to build computational grids and grid-based applications. The Globus Toolkit is used by many organizations to build grids that can support their applications. The open-source Globus Toolkit includes tools and libraries for solving problems in the following areas: security, communication, information infrastructure, fault detection, resource management, portability, and data management.
  • Globus Connect is the de facto standard for projects requiring secure, robust, high-speed bulk data transport.
  • HAAC is a framework of hardware-accelerated cosmology codes for heterogeneous systems, portable across different architectures 
  • IOFSL is an I/O forwarding scalability layer providing function shipping at the file system interface level.
  • Jumpshot is a profiling tool that provide log files, communication statistics, and graphical output of the results. An enhanced version deals with larger numbers of processes and to provide visualization of parallel I/O activities. Jumpshot is distributed with MPICH.
  • MCT (Model Coupling Toolkit) is a software library for constructing parallel coupled models from individual parallel models. MCT is designed for high performance and portability and offers a programming model similar to MPI. Core services include component registration, decomposition description, indexible data storage, parallel data transfer, and interpolation.
  • Mercury is an interface enabling remote procedure calls in high-performance computing
  • MeshKit is a library for geometry-based 2D and 3D mesh generation.
  • MG-RAST is a SEED-based environment that allows users to upload metagenomes for automated analyses.
  • MINOTAUR is an open-source toolkit for solving mixed-integer nonlinear optimization problems. It provides different solvers that implement state-of-the-art algorithms for MINLP. The MINOTAUR library can also be used to customize algorithms to exploit specific problem structures.
  • MOAB (Mesh-Oriented Database) represents and evaluates mesh data.
  • Model SEED is a resource for high-throughput reconstruction of metabolic models
  • MPICH is a high-performance, widely portable implementation of the Message Passing Interface standard. It provides an MPI implementation that efficiently supports different computational and communication platforms, including commodity clusters, high-speed networks, and proprietary high-end computing systems. It also enables cutting-edge research in MPI through an easy-to-extend modular framework for other derived implementations.
  • Nek5000 is an open-source computational fluid dynamics solver based on the spectral element method. It is actively used in the Cesar project and has run on the Blue Gene/Q with 1 million MPI ranks — a watershed!
  • NekLBM is a spectral-element discontinuous Galerkin Lattice-Boltzmann fluid solver.
  • NekCEM is a high-fidelity electromagnetic solver.
  • Nimbus is an integrated set of tools that delivers the power and versatility of infrastructure clouds to scientific users.
  • OpenAD enables automatic differentiation of numerical computer programs.
  • Orio is an extensible annotation-based empirical tuning system.
  • Parallel netCDF provides high-performance I/O while still maintaining file format compatibility with Unidata’s NetDCF.
  • ParVis, designed specifically for analyzing ultra-large climate datasets, includes both parallel tools and visualization techniques.
  • PETSc (Portable, Extensible Toolkit for Scientific Computation) is a suite of uni- and parallel-processor codes for solving large-scale problems modeled by partial differential equations.
  • PIPS is a parallel optimization solver for stochastic programming problems with recourse.
  • PVFS (Parallel Virtual File System) brings state-of-the-art parallel I/O concepts to production parallel systems. PVFS is designed to scale to petabytes of storage and provide access rates at hundreds of gigabytes per second. It also continues to be used as a platform for active research in the parallel I/O field.
  • Rapsodia is a tool for the computation of higher order derivative information of numerical models written in Fortran, C or C++ by automatic differentiation.
  • RGG (Reactor Geometry and mesh Generator) generates several types of nuclear reactor assembly/core geometry meshes.
  • ROMIO is a high-performance, portable implementation of MPI-IO. ROMIO includes almost everything defined in the MPI-2 I/O chapter and is optimized for noncontiguous access patterns, which are common in parallel applications. It also has an optimized implementation of collective I/O, an important optimization in parallel I/O.
  • ScalaGAUSS is a set of scalable tools for analyzing large-scale spatiotemporal data modeled as a Gaussian process/random field.
  • Swift is a parallel scripting language designed for composing application programs into parallel applications that can be executed on multicore processors, clusters, grids, clouds, and supercomputers.
  • SZ is a fast error-bounded HPC data compressor that tackles the growing problem of how to handle the extremely large amounts of data being produced by scientific simulations; SZ provides an effective way of reducing the data so that it can be stored or transferred across the network.
  • TACO (Toolkit for AMPL Control Optimization) provides a set of extensions to the AMPl modeling language to conveniently model mixed-integer optimal control problems for ODE or DAE dynamic processes.
  • TAO (Toolkit for Advanced Optimization) focuses on the design and implementation of component-based optimization software for the solution of large-scale optimization applications. Our approach is to exploit numerical abstractions in large-scale optimization software design, so that we can leverage external parallel computing infrastructure (for example, communication libraries and visualization packages) and linear algebra tools in the development of optimization algorithms.
  • Triton is a novel scalable, self-repairing highly available distributed object
    storage system, designed to enable concurrent access to petabytes of data.
  • VeloC (Very Low Overhead Transparent Multilevel Checkpoint/Restart): This project seeks to provide an optimized checkpoint/restart library for applications and workflows, with the aim of increasing programmer productivity by dramatically reducing the difficulty of handling varied and complex storage architectures and the need for performance/reliability optimizations. VeloC will provide transparent optimizations for relevant DOE Exascale Computing Project systems.
  • ZeptoOS is a research project studying very efficient and customized Linux kernels for petascale and exascale architectures with 10,000 to 1 million CPUs.