EECS 739 - Scientific Parallel Computing

Spring 2015

Course Description

This course is concerned with the application of parallel processing to problems in the natural sciences and engineering. State-of-the-art computing methodologies are studied along with contemporary applications. The course takes a performance-oriented applied approach, with attention to parallel algorithms, parallel system architecture, compilation issues, and system evaluation.

Course Meetings

TR, 11am-12:15pm, 3150 Learned Hall

Instructor

Dr. Suzanne Shontz
3016 Eaton Hall
Department of Electrical Engineering and Computer Science
Office Phone: (785) 864-8816
Email: shontz@ku.edu
Office Hours: Tuesdays and Thursdays from 1:30-2:30pm or send e-mail to schedule an appointment in advance. (Note that I have a second office which is 238 Nichols Hall. At times you will be asked to come to Nichols Hall if you request a meeting with me outside of office hours.)

Teaching Assistant

None.

Required Text

Introduction to Parallel Computing (2nd edition)
Author: Ananth Grama, George Karypis, Vipin Kumar, and Anshul Gupta
Publisher: Pearson-Education
Year: 2003
ISBN: 978-0201648652
Note: The previous edition will not work for this course.

References

Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and Their Implementation
Author: George Karniadakis and Robert M. Kirby, II
Publisher: Cambridge University Press
Year: 2003
ISBN: 978-0521520805
Highly recommended; on reserve at Anschutz Library

Parallel Programming with MPI
Author: Peter S. Pacheco
Publisher: Morgan Kaufmann Publishers
Year: 1997
ISBN: 978-1558603394
On reserve at Anschutz Library

Prerequisites

Graduate standing in science or engineering or consent of instructor, and experience with C, C++, or Fortran.

Helpful Background

EECS 560, Math 581, or ME 508.

Course Requirements

Lecture attendance is required, although attendance will not be recorded. The course requirements for EECS 739 include class participation, five homework assignments, one midterm exam, and a final exam. The homework assignments will require a combination of algorithmic design, problem solving, mathematical analysis, and computer programming (using C++ and MPI) (not all on every assignment). Prior knowledge of C++ and MPI is not a prerequisite for the course.

Homework assignments will be due approximately ten days after they are assigned. Due dates for homework assignments will be announced in class. (The dates listed on the course calendar are simply a guide for me.) There will be a late penalty of 10% for homework handed in up to 24 hours late. No homework assignments will be accepted more than 24 hours late.

There will be one midterm exam and one final exam; the dates for the exams are given on the course calendar. Please reserve these dates on your calendar. The exams will be closed-book. A make-up midterm or final exam will be given to any student who is absent from an exam for a compelling reason and gets permission from the instructor.

The exams will cover topics drawn from the lectures and homework, and from the underlying algorithms and mathematics.

Grading

Class participation will count for 5% of the final grade. The homework assignments will count for 25% of the final grade. The midterm exam will each count for 35% of the final grade, and the final exam will count for 35%. The class will be graded on a curve.

Because there is no grader for the course, I will be grading one problem per homework assignment. Your score on this problem will be your score for the homework assignment. The problem to be graded will not be announced ahead of time. Students are responsible for completing all problems on homework assignments and for understanding the material contained therein.

Class Schedule

This calendar shows a week-by-week syllabus. The dates and order of topics are subject to change by the instructor. Any significant changes will be announced in class.

Course Website

There is a course website available at http://people.eecs.ku.edu/~shontz/eecs_739_spring_2015.html. E-mail will be used for announcements not given in class.

Computing Facilities

Students will have access to a cluster in the Advanced Computing Facility at Nichols Hall in order to run your C++ and MPI codes.

Academic Integrity

The University of Kansas has an academic integrity policy that applies to all students. The policy can be found at http://policy.ku.edu/governance/USRR under Article IX. Guidelines for Dealing with Allegations of Scholarly Misconduct.

Guidelines for Dealing with Allegations of Scholarly Misconduct: The guidelines state that “scholarly misconduct includes fabrication, falsification, or plagiarism or other practices that seriously deviate from those commonly accepted in the scholarly community, when such misconduct occurs in the context of scholarly activities as set forth in section 9.1.2.”

Fabrication is making up data or results and recording or reporting them.

Falsification is manipulating materials, equipment, or processes, or changing or omitting information, data or results such that the scholarship is not accurately represented in the record, or misrepresenting facts in grant applications, submissions, or other documents provided to agencies which fund grants or sponsor scholarly activities.

Plagiarism is the appropriation of another person’s ideas, processes, results, or words without giving appropriate credit.

Scholarly misconduct does not include honest error or differences of opinion.

Students are allowed to collaborate on the homework assignments with at most one other student of the class. The collaboration should involve no more than the formulation of ideas as a pair. Each student is expected to write up the homework assignment by himself or herself. Students must not hand in homework that represents somebody else's ideas entirely. Students should do the C++ and MPI coding on assignments by themselves--no program code should be shared. No collaboration of any kind is allowed on the midterm or final exams.

Students are permitted to consult outside published material for the homework, although the homework will be fully based on lecture notes, course handouts, and the textbooks. If a student consults a source other than the lecture notes and textbook, he or she must cite the source--failure to cite the source will be considered cheating.

If you are uncertain as to whether or not a particular behavior is considered cheating, you are highly encouraged to discuss it with the instructor before engaging in such behavior.

The penalty for cheating will be an F for the course, following a hearing with the instructor as spelled out in the university's policy on scholarly misconduct. The case will also be reported to the Vice Chancellor for Research and Graduate Studies who will conduct an investigation into the matter. Based on the outcome of the investigation, the Vice Chancellor’s investigatory committee can impose disciplinary action that is less than, more than, or the same as the above penalty depending on the misconduct.

Suzanne M. Shontz, Associate Professor, Department of Electrical Engineering and Computer Science, University of Kansas, shontz@ku.edu

Handed out 1/22/15