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 [1] 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 [3] 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 [2] 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 [4] 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.
Technical Point of Contact:  Stephen Davis

After February 28, 2002, proposers may still submit written questions about solicitation topics through the SBIR/STTR Interactive Topic Information System (SITIS), in which the questioner and respondent remain anonymous and all questions and answers are posted electronically for general viewing until the solicitation closes. All proposers are advised to monitor SITIS (2002 Q&A) during the solicitation period for questions and answers, and other significant information, relevant to the STTR 02 topic under which they are proposing.

If you have general questions about DoD SBIR program, please contact the DoD SBIR Help Desk at (8am to 8pm EST) or email to .

NOTE: The Solicitations listed on this site are copies from the various SBIR agency solicitations and are not necessarily the latest and most up-to-date. For this reason, you should use the agency link listed below which will take you directly to the appropriate agency server where you can read the official version of this solicitation and download the appropriate forms and rules.
The official link for this solicitation is:
DoD will begin accepting proposals on March 1, 2002.   The solicitation closing date is April 17, 2002.