| MCS Software |
|
MCS has long been a leader in the development of robust, reliable software. As early as the 1970s, Argonne spearheaded a series of software engineering projects that culminated in the release of EISPACK, LINPACK, FUNPACK, and MINPACK. Today, MCS researchers are continuing this tradition, with an added emphasis on portability and scalability. Thousands of researchers in academia and industry use our software in applications that include computational chemistry, protein structure, vortex dynamics, astrophysics, climate modeling, mathematics and logic, CFD, and reservoir simulation.
|
| Access Grid Toolkit | The Access Grid Toolkit enables users to experience rich collaborations including people, data, and grid computing resources. The new 2.0 version of the toolkit includes streamlined user interfaces, robust middleware and low-level services that enable participants to share experiences through digital media. |
| ADE | To allow engineers to quickly and intuitively make comparisons among multiple data sets, we are developing the ALICE Differencing Engine (ADE). The toolkit provides three primary functionalities: visualization of individual data sets, data comparison via the visualization of the difference between data sets, and image comparison via the simultaneous visualization of multiple data sets. |
| ADIC | 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. |
| ADIFOR | ADIFOR is a tool for the automatic differentiation of Fortran 77 programs. Given a Fortran 77 source code and a user's specification of dependent and independent variables, ADIFOR will generate an augmented derivative 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. |
| ChemIO | ChemIO is a portable parallel I/O library that defines a standard I/O API and provides high-performance implementations of this API on different high-performance computers. |
| City | City is a set of software, tools, and procedures that we have developed to help run the clusters in the MCS Division. They are focused on building and supporting Chiba City, the MCS Scalable Cluster. |
| dgsol | The dgsol code is designed for the solution of distance geometry problems with lower and upper bounds on distance constraints. The dgsol code uses only a sparse set of distance constraints, while other algorithms tend to work with a dense set of constraints either by imposing additional bounds or by deducing bounds from the given bounds. We have used the code successfully to study protein structures: our approach based on dgsol is significantly more reliable and efficient than multi-starts with an optimization code. |
| EQP | EQP is an automated theorem proving program for first-order equational logic. Its strengths are good implementations of associative-commutative unification and matching, a variety of strategies for equational reasoning, and fast search. It seems to perform well on many problems about lattice-like structures. Most recently, it was used to answer the Robbins algebra problem, which had been open for more than half a century. |
| FLIC | FLIC, a Fortran loop and index converter, is a parser-based translation tool that automatically converts program loops and array indices for distributed-memory parallel computers. FLIC is targeted to applications that employ regular gridded domains, such as weather models, that will be parallelized by data-domain decomposition. |
| FOAM | The Fast Ocean-Atmosphere Model (FOAM) 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 model. A 500-year simulation performed with this model has yielded significant scientific results. |
| Globus ToolkitTM | The Globus ProjectTM provides software tools that make it easier to build computational Grids and Grid-based applications. These tools are collectively called the Globus Toolkit. 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. |
| High-Performance I/O | Our work in high-performance I/O features ROMIO and PVFS, as well as several other packages for managing and analyzing data. |
| ICFS | ICFS is an incomplete Cholesky factorization for the solution of large-scale tru st region subproblems and positive definite systems of linear equations. Our numerical results show that the number of conjugate gradient iterations and the computing time are reduced dramatically for small values of p. Our results also show that in contrast with drop tolerance strategies, the new a pproach is more stable in terms of number of iterations and memory requirements. |
| Jumpshot | Jumpshot is a profiling tools 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 deistributed with mpich |
| MACE | MACE is a automated reasoning program that can be used to search for (small) finite models and counterexamples of first-order statements. |
| MM5 - Distributed Memory Parallel Version | MPP MM5 has been extended for use on distributed memory parallel computers such as the IBM SP, Cray T3E, Fujitsu VPP, clusters of PCs and workstations, and distributed memory clusters of multiprocessor machines. It also provides an alternative to shared-memory parallel execution on distributed shared-memory machines such as as the Silicon Graphics Origin 2000, the Hewlett Packard SPP, and others. This version of MM5 was developed by Argonne in collaboration with NCAR. |
| MPI | MPI (Message-Passing Interface) is a specification for the user interface to message-passing libraries for parallel computers. It was designed by a broadly based group of parallel computer vendors, library writers, and application developers to serve as a standard. MPI can be used to write programs for efficient execution on a wide variety of parallel machines, including massively parallel supercomputers, shared-memory multiprocessors, and networks of workstations. |
| Msys | The Msys package of software includes a number of systems administration utilities. These assist a team of system administrators in managing a computing environment by automating routine tasks and centralizing information. |
| MPICH | MPICH is a freely available implementation of the MPI Standard, developed jointly with Mississippi State University. MPICH is designed to provide high performance, portability, and a convenient programming environment. MPICH comes with a library of convenience functions for X11 window system graphics and event logging, together with the upshot and nupshot performance visualization tools. |
| NEOS Server | The NEOS Server 3.0 is the first network-enabled problem-solving environment for a wide class of applications in business, science, and engineering. Included are state-of-the-art solvers in integer programming, nonlinearly constrained optimization, bound-constrained optimization, unconstrained optimization, linear programmming, stochastic linear programming, complemetarity problems, linear network optimization, semidefinite programming, and administrative programming. |
| Opt-MS | The Opt-MS software is a library-based toolkit written in C that provides mesh s moothing and untangling functionalities. The user may experiment with a number of included quality metrics in both two an d three dimensions and also with various features such as performance profiling and statistics gathering. Opt-MS has been incorporated in GRUMMP and the SUMAA3d toolkits. |
| Otter | Our current automated deduction system Otter is designed to prove theorems stated in first-order logic with equality. Otter's inference rules are based on resolution and paramodulation, and it includes facilities for term rewriting, term orderings, Knuth-Bendix completion, weighting, and strategies for directing and restricting searches for proofs. Otter has been used to answer many open questions in the areas of finite semigroups, ternary Boolean algebra, logic calculi, combinatory logic, group theory, lattice theory, and algebraic geometry. |
| p4 | The p4 parallel programming library consists of macros and subroutines for writing both shared-memory and message-passing programs in C and Fortran. |
| PCx | PCx is an interior-point predictor-corrector linear programming package. The code has been developed at the Optimization Technology Center, a joint venture of Argonne National Laboratory and Northwestern University. |
| PETSc | PETSc, the 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. PETSc employs the MPI standard for all message-passing communication. The code is written in a data-structure-neutral manner to enable easy reuse and flexibility. PETSc has been used for a variety of large-scaled applications, including transonic flow, modeling vortex dynamics in high-temperature superconductors, parallelization of a 3D magnetostatics code, and study of compressible flows at low and transonic Mach number. |
| Ptools | Our Scalable Unix Tools project -- which offers parallel, scalable version of common Unix commands for parallel machines with a Unix on each node -- became the first official project of the Ptools Consortium. This organization seeks to promote de facto standards for parallel programming tools. |
| ROMIO | 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. |
| |
| Regional Climate Workbench | The Regional Climate Workbench provides a framework for performing end-to-end regional climate impacts assessments for the U.S. Midwest and Great Plains. Forr climate modeling software see our main Web site. |
| RSL | RSL is a runtime system library for implementing regular-grid models with nesting on distributed memory parallel computers. RSL provides support for automatically decomposing multiple model domains and for redistributing work between processors at run time for dynamic load balancing. The interface to RSL supports Fortran77 and Fortran90. RSL has been used to parallelize the NCAR/Penn State Mesoscale Model. |
| SPAM | The Subspace Projected Approximating Matrices (SPAM) for Davidson's method is an approach to extending iterative eigenvalue methods based upon the use of approximating matrices. |
| TAO | The Toolkit for Advanced Optimization was developed under the DOE2000 program, 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. |
| WIT | WIT (What Is There?) is an interactive system designed to support the reconstruction of metabolism from sequence data. The current version, WIT2, supports extensive annotations and analysis of a genome by a team of experts. Both systems hold sequence data from over 130 distinct prokaryotes as well as complete and partial metabolic reconstructions for numerous organisms. Work has also begun on the next-generation WIT3. |
| TRON | TRON is a trust region Newton method for the solution of bound-constrained optimization problems. TRON uses a gradient projection method to generate a Cauchy step, a preconditioned conjugate gradient method with an incomplete Cholesky factoriza tion to generate a direction, and a projected search to compute the step. The use of projected searches, in particular, allows TRON to examine faces of the feasible set by generating a small number of minor iterates, even for problems with a large number of variables. As a result TRON is remarkably efficient. |
| Voyager | The purpose of the Voyager Multimedia Server is to archive and present data. Voyager is approaching 10 years of active development and use. It has provided significant experience in designing, building, deploying, and maintaining streaming multimedia software. |