课程名称 (Course Name) :
Parallel Computing and Parallel Algorithms
课程代码 (Course Code): X033537
学分/学时 (Credits/Credit Hours): 2.0/36
开课时间 (Course Term ): Spring Semester
开课学院(School Providing the Course): Department of Computer Science and Engineering, SEIEE
任课教师(Teacher): Prof. Minyi Guo
课程讨论时数(Course Discussion Hours):
0
课程实验数(Lab Hours):
12
课程内容简介(Course Introduction):
This course will give an introduction to various parallel programming paradigms, algorithms and architectures. For examples, some hands-on parallel programming experiences on shared-memory and message-passing parallel architectures. The course aims to help students understand conceptually what parallel computing systems are, what they do, and how they are designed and constructed. Students who registered the course will learn different parallel languages and an ability to parallelize a sequential application using MPI and OpenMP.
教学大纲(Course Teaching Outline):
Chapter 1. Motivation and History
Chapter 2. Parallel Architectures
Chapter 3. Parallel Algorithm Design
Chapter 4. Message-Passing Programming
Chapter 5. The Sieve of Eratosthenes
Chapter 6. Floyd's Algorithms
Chapter 7. Performance Analysis
Chapter 8. Matrix-vector Multiplication
Chapter 9. Document Classification
Chapter 10. Monte Carlo Methods
Chapter 11. Matrix Multiplication
Chapter 12. Solving Linear Systems
Chapter 13. Finite Difference Methods
Chapter 14. Sorting
Chapter 15. Shared-memory Programming
Chapter 16. Combining MPI and OpenMP
课程进度计划(Course Schedule):
ü Lecture time: Wednesday 6:00 PM - 8:30 PM
ü Units: 3
ü Location: Room 414 at SEIEE Building #3
Week 1: Chapter 1 and Chapter 2
Week 2: Chapter 3 and Chapter 4
Week 3: Have a fun with parallel programming wiht MPI (1)
Week 4: Chapter 5 and Chapter 6
Week 5: Chapter 7 and Chapter 8
Week 6: Have a fun with parallel programming wiht MPI (2)
Week 7: Chapter 9 and Chapter 10
Week 8: A “Hands-on” Introduction to OpenMP (1)
Week 9: Chapter 11 and Chapter 12
Week 10: Chapter 13 and Chapter 14
Week 11: A “Hands-on” Introduction to OpenMP (2)
Week 12: Chapter 15 and Chapter 16
Week 13: Final Examination
课程考核要求(Course Assessment Requirements):
Your final grade for the course will be based on the following weights:
ü 25% Homework and class participation (if have)
ü 15% Quiz
ü 30% Final Examination
ü 30% Project
There will be a few assignments (2 - 3 times). Projects are conducted by groups of 2 or 3 students.
参考文献(Course References):
1. Parallel Programming in C with MPI and OpenMP by Michael J. Quinn, McGraw-Hill, 2003.
2. Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers by B. Wilkinson and M. Allen, Prentice Hall, 1999.
3. Advanced Programming in the Unix Environment by W. Richard Stevens.
预修课程(Prerequisite Course)
The prerequisites for this course are data structure and algorithms, programming language, computer architecture and operating systems. Students are expected to have strong programming background before taking this course.