Multiprocessing Codes

(Updated on 1-7-02)

 

 

This is a link to some Fortran codes for matrix products, explicit iterations, Gauss elimination, SOR methods, conjugate gradient and GMRES methods.  The codes are in F90, MPI (message passing interface), HPF (high performance Fortran) and OMP  (open message passing) so that the IBM SP multiprocessor at the North Carolina Supercomputing Center (NCSC) can be used.  The emphasis is on MPI codes.  Students should have a basic understanding of numerical linear algebra such as in MA 402, or MA/CSC 428 or MA/CSC 580.  Getting started information for MPI can be found at the links to the NCSC and to chapter 2 in MA 402. This collection of codes is for educational purposes, and they are not robust enough for general use.  More sophisticated software and additional references can be found at Netlib.

 

 

 

Fortran Codes:

 

I.  Matrix Products

          1.  Basic MPI (trape.f), (envrmpi8)

          2.  Matrix-vector product (matvecmo.f)

          3.  Matrix-matrix product (mmmo.f), (foxm1.f)

 

II.  Explicit Methods

          4.  Heat and flow (heat2d.f90 and flow2d.f90)

          5.  2D heat (heat2dm.f)

          6.  2D flow (poll2dm.f)

 

III.  Gaussian Elimination

          7.   SPD version (ge.f90)

          8.   HPF version (ge.hpf)

          9.   Domain decomposition (gedd.m), (ges.f90), (geddm7.f )

 

IV.  SOR Methods

          10.  Classical order (sor2d.f90)

          11.  Red-black order (sorrb.f), (sorrb.hpf)

          12.  Domain decomposition order (sorddm.f)

 

V.   Minimization Methods

          13.   Conjugate gradient (cg.f90)

          14.   SSOR preconditioner (cgssor.f90), (cgssorm.f)

          15.   Gmres(m) (GMRESm.f90) , (gmresmm1.f)