Software Tools for High Performance Computing
Army STTR - Topic ARMY02-T003
TITLE: Software Tools for High Performance Computing
TECHNOLOGY AREAS: Information Systems
OBJECTIVE: The purpose of this project is to develop software tools that enable DoD researchers to use parallel computers and that make software portable across different parallel architectures.
DESCRIPTION: As the Army requires larger, more detailed numerical simulations for scientific and engineering computations, it becomes necessary to perform these computations on high performance parallel computer architectures. Currently, it requires a significant amount of detailed hand coding of message passing primitives  to port a computer code which was originally written for a serial or vector computer to a parallel machine or network of machines. Also, once a code has been ported to one parallel architecture, it may require additional work to port it to other architectures even when both machines have similarities. New approaches are needed to reduce the effort required to use parallel machines and to increase the portability of computer software between parallel machines.
University research has generated a number of approaches to the problems of generating portable parallel code. For example, Reference  describes software tools to support the solution of partial differential equations using parallel adaptive finite element methods. This software uses a hierarchical design to manage mesh and solution data accounting for the many data structures used with adaptive computation and a variety of computer architectures. Other researchers  have developed multi-constraint graph partitioners which permit multi-phase and multi-physics computations to be load balanced among the processors and for communication between subdomains and domains with different physics to be minimized. These algorithms have been added to the popular Metis package. Elsewhere, there has been a long term effort in the research on intelligent scientific visualization software. One result  has been the development of algorithms to extract important features from unsteady CFD solutions and display them in an understandable manner. These are examples of basic research which is ready to be transitioned to software which should be made generally available.
For this topic, university researchers should team with commercial software developers to develop software tools for parallel computation. These could include environments for parallel mesh generation, load balancing, adaptive refinement and visualization. It is expected that these tools could be used to port existing serial codes to multiple parallel architectures.
PHASE I: Determine what kinds of tools are needed to automate the porting of existing software to different parallel architectures. Determine what research is available to generate tools to aid this process and what tools are available for support activities such as parallel grid generation and visualization. Develop a framework for a computing environment for automating parallel computation.
PHASE II: Use the information developed in Phase I to develop a library of software tools which can be used to support parallel computation. This can include, but is not limited to, tools for the porting of code, grid generation, load balancing, adaptive refinement and visualization. These tools should be tested on multiple architectures and existing software of interest to DoD.
PHASE III DUAL USE COMMERCIALIZATION: The development of vectorizing compilers led to the widespread acceptance of vector processors for both military and civilian applications. Better software tools are required before parallel architectures become the general purpose computers of tomorrow.
1. M. Snir and W. Gropp, MPI: The Complete Reference, (2-volume set), MIT Press, 1998.
2. K. Schloegel,G. Karypis and V. Kumar, "Parallel Static and Dynamic Multi-Constraint Graph Partitioning", Concurrency: Practice & Experience, 2001.
3. J.D. Teresco, M.W. Beall, J.E. Flaherty and M.S. Shephard, "A Hierarchical Partition Model for Adaptive Finite Element Computations", Comp. Meth. Appl. Mech. Engng., 184(2-4):269-285, 2000.
4. R. Haines and D. Kenwright, "On the Velocity Gradient Tensor and Fluid Feature Extraction", AIAA Computational Fluid Dynamics Conference, AIAA Paper 993288, Norfolk, VA, June, 1999.
KEYWORDS: Parallel Computing, Software Tools, Automatic Parallelization, Load Balancing, Visualization
DoD Notice: Between January 2 and February 28, 2002, you may talk directly with the Topic Author(s) to ask technical questions about the topics. Their contact information is listed below. For reasons of competitive fairness, direct communication between proposers and topic authors is not allowed after February 28 , when DoD begins accepting proposals for this solicitation.