Supercomputing Networking Research Education Ohio Supercomputer Center Site Map Staff Directory Support

Using Parallel Numerical Libraries (focus on NAG)

Description:

Remember when a user would sit down at a vector supercomputer and know that there would be an extensive library of linear algebra routines available for their use? Ever since the advent of parallel supercomputers, users have asked for the same thing: Isn't there a library routine I can call that will perform my matrix-matrix multiplication in parallel for me? Well the answer to this question and others like it is finally yes, and such parallel linear algebra libraries will be the subject of this course.
 
Specifically, this course will focus on the NAG Parallel Library. This library, based on the Message Passing Interface (MPI), contains 183 routines that have been specifically developed for use on distributed memory systems.
 
The Library makes use of the Basic Linear Algebra Communication Subprograms (BLACS) which uses MPI as its message-passing kernels and includes the following areas:
 
  • Dense linear algebra (including ScaLAPACK)
  • Eigenvalue and singular value problems
  • Input/Output, data distribution
  • Quadrature
  • Random number generators
  • Sparse linear algebra
  • Sparse matrix solvers
  • Support/utility routines
 
The interfaces are kept as close as possible to the Fortran Library routines to ensure smoother integration and the user does not, in general, need knowledge of MPI.
 
The course will show numerous examples. The examples will cover "popular" linear algebra tasks such as matrix-vector multiplication, matrix-matrix multiplication and solving a set of simultaneous linear equations (ALL IN PARALLEL). In addition, lab time will be used for students to solve additional problems themselves.
 
Prerequisites and Requirements:
 
Knowledge of the FORTRAN programming language. Knowledge of MPI would be beneficial, but is not required.
 
Handouts:
 
February 2002, PDF, by James Guiliani (jimg@osc.edu)