Math 627 - Introduction to Parallel Computing
Fall 2006 - Matthias K. Gobbert
Learning Goals
This page can be reached via my homepage at
http://www.math.umbc.edu/~gobbert.
Learning Goals
By the end of this course, you should:
-
understand and remember the key ideas, concepts, definitions,
and theorems of the subject.
Examples include understanding the purpose of parallel computing
and why it can work, being aware of potential limitations,
and knowing the major types of hardware available.
This information will be communicated in class and in the
textbook, but also in additional reading.
--> This information will be discussed in the lecture as well as
in the textbook and other assigned reading.
-
have experience writing code for a Linux cluster using MPI in C, C++,
and/or Fortran that correctly solves problems in scientific computing.
The sample problems are taken from mathematics and your code has to
compile without error or warning, run without error,
and give mathematically correct results first of all.
In addition, it needs to run on a Linux cluster without error
and you need to be able to explain its scalability, i.e.,
why or why not it executes faster on several processors than in serial.
We will have problems stated in different ways and from various
sources to provide you with exposure to as many issues as possible.
--> This is the main purpose of the homework and most
learning will take place here.
-
have gained proficiency in delivering code written by you to others to use.
This includes the concept of providing a README file that gives
instructions how to compile and run the code as well as
of providing a sample output file to allow the user to check the results.
We will work together in class to discuss best practices to transfer code
for homework problems of increasing complexity.
--> You will submit your homework code by e-mail to the instructor
and it needs to compile and run in parallel for credit; this is
complemented by a report that shows and explains your results.
-
have some experience how to learn information from a research paper
and to discuss it with peers.
Group work requiring communication for effective collaboration
with peers and supervisors is a vital professional skill,
and the development of professional skills is a declared learning goal
of this course.
--> I will supply some research papers carefully
selected for their readability and relevance to the course.
Learning from research papers is a crucial skill to develop.
-
have experience with independent work and presenting it both
in a written report and in an oral presentation.
It is vital to gain experience with setting your own goals,
estimating a realistic time line, working with peers and supervisors
on regular updates and giving and receiving suggestions,
submitting and editing a written report to standards of a research paper,
and presenting your results in an oral presentation as part of a
conference session.
--> The class project will cover all of these components,
and we will discuss the various steps necessary in class.
Reading the research papers above will give you a frame of reference
for how the report should look like.
Copyright © 2006 by Matthias K. Gobbert. All Rights Reserved.
This page version 1.3, August 2006.