San Jose State University                             Computer Engineering
CmpE213                                                        Parallel Processing / Supercomputers

Instructor: Dr. Rod Fatoohi                           Spring 2007

 

Course overview

 

Textbook:

Introduction to Parallel Computing, 2nd ed., 2003, Grama, et al., ISBN: 0-201-64865-2

Notes

 

References:

Parallel Programming in C with MPI and OpenMP, 2004, Quinn, ISBN: 0-07-282256-2

Parallel Programming with MPI, 1997, Pacheco, ISBN: 1-55860-339-5.

 

Exam & Grading:

20%  Project

20%  Homework & Lab Reports

25%  Midterm: 7th Meeting (March 8th) at 1800.

35%  Final: 16th Meeting (May 17th) at 1715.

Exams could be a mix of problem solving and multiple-choice questions.

No make-ups exams (or Incomplete grade) except in case of verifiable emergency circumstances.
No laptops during the exams.

 

          A+ : > 94

          A   : 90 – 94

          A-  : 85 – 89

          B+  : 80 – 84

          B    : 75 – 79

          B-  : 70 – 74

          C+  : 65 – 69

          C    : 60 – 64

          F    : < 60

(0.5 – 0.9) = 1

(0.1 – 0.4) = 0

 

Academic integrity statement (from Office of Judicial Affairs)

 

Your own commitment to learning, as evidenced by your enrollment at San José State University and the University’s Academic Integrity Policy requires you to be honest in all your academic course work. Faculty are required to report all infractions to the Office of Judicial Affairs. The policy on academic integrity can be found at: http://www2.sjsu.edu/senate/S04-12.pdf

 

 

Campus policy in compliance with the Americans with Disabilities Act

 

“If you need course adaptations or accommodations because of a disability, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours. Presidential Directive 97-03 requires that students with disabilities register with DRC to establish a record of their disability.”

 

Time & Location:

Lecture: Thurs 1800 – 1950 DMH 357

Lab: Thurs 2000 – 2250 ENG 206

 

 

Office Hours:

Tuesdays 0900 - 1200 & Thursdays 1700 - 1800, or by appointment only

Office: ENG 273.

Phone: (408) 924-4059.

Email: rfatoohi@email.sjsu.edu

URL: http://www.engr.sjsu.edu/fatoohi/cmpe213/cmpe213.html

Yahoo Study Group: normally initiated by a student.
Answering phone calls & checking email are during office hours only.

 

Prerequisite

Classified Graduate Standing

Programming in C

Experience with Unix

 

Attendance:

Highly recommended

Avoid disturbing the class: turn off cell phones (or put them on vibrate mode), no text messaging during the lecture or the exams, no entering after 15 minute late, ...

Students are responsible for the lecture, lab & project presentations

 

Project: Develop, implement, test, and analyze performance of a parallel algorithm/application.    

·            Typically a group of two students works on a single project.

·            One report per group: 10 pages (5000 words)

·            Topics will be discussed in the class.

·            Presentation is required for all group members.

·            Proposal (one page per group) Deadline: Meeting #11

·            Report Deadline: Meeting #13 - no late submission

 

Lab: To provide hands-on experience in developing parallel algorithms using message passing and shared-memory interfaces.

 

Course Description

 

Parallel processing hardware, software, and applications. State-of-the-art description of parallel architectures, communication operations, parallel programming models, parallel algorithms, and performance analysis. 

 

Learning Objectives

 

To provide in-depth description of high-performance systems and parallel architectures, communication operations, parallel programming models, parallel algorithms, and performance modeling. 

 

Outline

This is a tentative schedule (subject to change):

 

Meeting                        Topic                                        Chapter                       

1                      Introduction                                           1         

2                      Parallel architectures                             2

3                      Interconnection networks                       2                     

4                      Parallel algorithm design                        3                     

5                      Programming with MPI                         6                     

6                      Communication operations                     4                                 

7                      Midterm                                               

8                      Programming with Pthread                     7         

9                      Programming with OpenMP                   7         

10                     Performance modeling                           5         

11                     Matrix algorithms                                  8

12                     Sorting algorithms                                  9         

13                     Special topics

14                     Project presentations

15                     Project presentations