X033537 Parallel Computing and Parallel Algorithms 并行计算与并行算法

 

课程名称 (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.

[ 2015-11-26 ]