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

Using Parallel Numerical Libraries (focus on ScaLAPACK)

Description:

Remember when a user would sit down at a main-frame computer or 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 advanced course will focus on the libraries which have become the "de facto" standards for parallel linear algebra: SCALAPACK (the parallel successor to LAPACK) and PBLAS (the parallel successor to BLAS). Both of the libraries build upon calls to the BLACS library which will set up the processors in a communication grid that matches the problem being solved and distributes appropriate array elements to the correct processor's memory to achieve good performance.

Since the entire procedure of using BLACS is to establish the correct processor environment, and then preparing for and calling the desired PBLAS or SCALAPACK routine can be a bit intimidating to new users, 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 a high level, modular programming language such as Fortran or C.
Handouts:
May 1999 (HTML w/GIFs using Frames or PDF), by Dr. David Ennis