The title of the course for this semester is "Parallel processing in scientific computing: Parallelism in Branch and Bound Algorithms for Optimization and in Partial Differential Equations." We will be following our primary text (Parallel and Distributed Computation: Numerical Methods by Bertsekas et al;) for the basics of parallel processing, and we will be doing assignments from that text; we may also use Parallel Scientific Computing in C++ and MPI, George Em Karniadakis and Robert M. Kirby II, Cambridge Univ. Press, QA76.58 K37 2003, ISBN 0-521-81754-4. This may occupy us for most of the Fall semester.
Along with exercises in the text, we will be doing "hands-on" work in an actual parallel environment: The "bigred" cluster recently deployed at CACS. This will require a knowledge of either C++ or FORTRAN 77. We will cover in class MPI, the "Message Passing Interface" library, that will be used to effect execution on multiple processors.
Here is a motivational description for the course:
On computers or distributed systems of computers with more than one
processor, numerical algorithms often need to be viewed in fundamentally
different ways. However, creation of methods for such parallel architectures
is becoming increasingly important. First, parallel and distributed systems
are being used more and more to tackle otherwise intractable problems in
applications of scientific computing; for such problems, the University
of Louisiana's LITE installation and the State of Louisiana's LONI network
have been developed. Second, increased parallelism on multiple levels
is occurring even in mass-produced computational equipment; this is evidenced,
for example,
by Intel's "Core DUO" processors; the actual speed of each core is
usually slower than earlier single-core chips, and the full speed of the
chip cannot be attained for a particular application unless parallel algorithms
are used.
Two scientific computing problems of research interest in the department
will be considered in a parallel context:
Although the course will focus on the numerical analysis and scientific
computing, relevant elements of parallel programming languages such as
MPI and PVM will be introduced. Experience on Louisiana's parallel processing
systems will be gained.
Check the Moodle course for additional materials and information.