|
Parallel Processing Architectures CIS*6100 (W10) |
|
High-Performance Computing MCSC 6030G (W10) |
|
High-Performance Computing MATH 5P21 (W10) |
| Regular classes: | January 11, 2010 to April 9, 2010 |
| Final Exam: | N/A |
| Instructors : |
Deborah Stacey,
School of Computer Science, University of Guelph [ REYN 222 | x52250 | e-mail: dastacey@uoguelph.ca ] David McCaughan, SHARCNET [ REYN 210 | x56467 | e-mail: dbm@sharcnet.ca ] William Gardner, School of Computer Science, University of Guelph [ REYN 105 | x52696 | e-mail: wgardner@uoguelph.ca ] |
Luciano Buono, Faculty of Science, UOIT [ (905) 721-3111 x2938 | e-mail: Pietro-Luciano.Buono@uoit.ca ] Thomas Wolf, Dept. of Mathematics, Brock University [ Math J413 | x3803 | e-mail: twolf@brocku.ca ] |
| Advising : | by appointment (or see one of us after class) |
|
| Lectures : | F 0900--1200 UoG: REYN 312 | UOIT: UA 4080 | Brock: MCF 313 | |
| Discussion Forum : | UoG CIS Moodle Server | |
| Web Page : | http://www.usrlocal.ca/~dbm/teaching/CIS6100/ | |
This course is intended to provide current or prospective SHARCNET researchers from all disciplines with an opportunity to explore issues of parallel design and programming at considerably more depth than can be offered in a workshop style setting. Since courses such as this represent the front lines in training the next generation of HPC specialists, we also strive to consider cutting edge and non-traditional parallel architectures to maximize the breadth of experience offered to the student. Although designed with SHARCNET users in mind, any student wih an adequate computational background is welcome to enroll.
Students entering this course are expected to have a good grasp of basic procedural programming in a language such as C or FORTRAN. A comfort level with C is particularly desirable as FORTRAN is not well supported in the emerging technologies (whereas C++ is becoming increasingly common) and the option to use the FORTRAN language may not always be available. This will serve as the base upon which we construct a working knowledge of parallel computing models as well as theoretical issues related to efficient parallel program design and implementation in both cluster and shared memory environments. Program development will be explored on local development clusters using the Message Passing Interface (MPI), POSIX threads, and other programming models germane to topics under consideration (Pilot, GP-GPU, Cell API, UPC, etc.).
The course will cover the following topics:
Barry Wilkinson and Michael Allen. Parallel Programming: Techniques and
Applications Using Networked Workstations and Parallel Computers (2e).
Prentice Hall, 2005 (ISBN 0-13-140563-2).
William Gropp, Ewing Lusk and Anthony Skjellum. Using MPI: Portable
Parallel Programming with the Message-Passing Interface (2e). MIT
Press, 1999.
Peter S. Pacheco. Parallel Programming with MPI. Morgan
Kaufmann, 1997.
Bradford Nichols, Dick Buttlar, Jacqueline Proulx Farrell. PThreads
Programming: A POSIX Standard for Better Multiprocessing. O'Reilly,
1996.
Raymond Greenlaw, H. James Hoover and Walter L. Ruzzo. Limits to
Parallel Computation: P-Completeness Theory. Oxford Press, 1995.
Suggested References
Last Modified: 2010 / 10 / 07