Optimizing Finite Element Programs on the Cray X1 Using Coloring Schemes

Abstract

Using the Environmental Quality Modeling program FEMWATER as a test-bed code, 27 percent of the time needed to run a given groundwater flow application on the ERDC Cray X1 using four multistream processors (MSPs) was spent assembling the global stiffness matrix. This poor performance is because the above code cannot multistream without help. The technique of "coloring" the elements makes it possible to multistream this section of the code, thus taking advantage of the hardware capability of the machine. Coloring for assembling the global stiffness matrix involves dividing the elements into different groups such that no node point touches any elements with the same color. This paper will present a simple coloring algorithm in FORTRAN and show how it was implemented into FEMWATER to achieve multistreaming on the ERDC Cray X1. It will then give a detailed description on how the program was modified, what compiler options were used, and what compiler directives worked best. Finally, timing results will be given. Some programs that have good MPI (or equivalent) communication are better suited for running in the single-streamed processor (SSP) mode. In the SSP mode, coloring of the elements is not needed for assembling the global stiffness matrix. Timings for running in the SSP mode will be shown, too.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 2004
Accession Number
ADP023867

Entities

People

  • Fred T. Tracy

Organizations

  • Engineer Research and Development Center

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Assembly
  • Compilers
  • Computations
  • Computer Programming
  • Computer Programs
  • Computers
  • Directives
  • High Performance Computing
  • Information Systems
  • Linear Algebra
  • Notation
  • Stiffness
  • Technical Information Centers
  • Test Beds
  • Three Dimensional

Readers

  • Computational Fluid Dynamics (CFD)
  • Graph Algorithms and Convex Optimization.