CPT S 411: Introduction to Parallel Computing
Fall 2018
(August 20, 2018 - December 14, 2018)
WASHINGTON
TuTh 12:00-13:15
EME B46 (Pullman
campus)
EVRT 452 (Everett campus)
TFLO 224 (Tricities campus)
CURRENT ANNOUNCEMENTS
Instructor:
ANANTH KALYANARAMAN
EME 237, 335-6760
Weekly office hours: Wednesdays 1:30-2:30pm PDT
Instructor email contact: Please
contact via Blackboard (learn.wsu.edu)
email and for discussions use Piazza.
If you send an email to my regular WSU account id, there is no guarantee
that I will reply or reply promptly, due to the high volume of
messages.
Syllabus:
This course will serve as a basic introduction to the field of parallel computing. Emphasis will be on the fundamental principles for parallel algorithm design and analysis, and parallel programming for distributed and shared memory parallel machines. Topics to be covered (not necessarily in order) include (but not limited to):
Reference texts:
There will *not* be any required text for this edition of the course. We will use the lecture notes available online on this website, along with lecture scribes, and a variety of online tutorials and reading materials identified by the instructor (also made available through the Lecture Notes link on this page). You will need a login/password to access the lecture materials. The instructor will provide this in class.
The following books will serve as references (no need to purchase):
Course Prerequisites:
Interested students who do not meet the above criteria are highly encouraged to contact the instructor to discuss the possibility of enrolling into the course.
Course Webpage & Blackboard:
The course will use three web resources each for a
different purpose:
Grading policy:
Homework and Programming Project Policies:
By default, any problem in the homework should be done "individually". If "collaboration" is allowed for a subset of problems in a homework then it will be explicitly stated so in the homework.
The statement of the programming project will clearly mention if it is
intended to be an "individual" or "team" project. Each team can contain no
more than 2 students. Teams need to be identified before starting work on
a project, and team projects will be evaluated no differently from
individual projects - i.e., the grade given to a team will apply to all
individual members of that team.
All team members of a team will receive the same grade on each programming
project. Therefore, when working in teams, it is expected that all of the
team members contribute equally to the project. If there is a disparity in
the levels of contribution, the student members are expected to bring that
to the attention of the instructor.
Also, all the source code pertaining to each programming project will have to be solely written from scratch by the project team. Reuse of any code that is supplied by the instructor along with the programming assignment is allowed.
However, use of any code snippets from the internet or from other project teams or elsewhere is strictly prohibited, and if evidence is found it will be considered "cheating".
For further information on what "individually" and what "collaborative" mean, and what the overall academic integrity policy issues are, please see below.
Academic Integrity Policy:
*Please read very
carefully*
"Individual" assignments means that no collaborations are allowed. You are expected to work on the problems all by yourself and any solution that you submit, must be entirely (100%) yours. Consulting with any other person or consulting solutions online on the web, will be considered "cheating" and is strictly prohibited.
For "collaborative" assignments, strict adherence to the following guidelines is required:
Academic
integrity is the cornerstone of the university. Any student who violates
the University's standard of conduct relating to academic integrity will
be referred to the Office of Student Conduct and may fail the assignment
or the course. You can learn more about Academic Integrity on your
campus at http://conduct.wsu.edu.
Please also read this link carefully:
EECS Academic Integrity Policy Please use
these resources to ensure that you don’t inadvertently violate WSU's
standard of conduct.
A
good rule of thumb: If you are in doubt about what constitutes
cheating vs. allowed collaboration, please ask the instructor prior to
performing the work.
Graduate students: please also refer to http://gradschool.wsu.edu/FacultyStaff/Committee/
Late submission policy:
Exam policy: Closed-book, closed-notes, comprehensive
PROGRAMMING ASSIGNMENTS - click on this link
Click here to download the cover sheet for use in all the homeworks and programming projects
LEARNING OUTCOMES
Obtain a conceptual understanding of the fundamental principles behind parallel computing, parallel programming models, and parallel algorithm design and analysis.
Obtain proficiency in parallel programming using primarily MPI and OpenMP (for distributed memory and shared memory multicore machines, respectively), while also being able to identify other emerging parallel computing models and environments.
Obtain proficiency in parallel algorithm design by demonstrating the ability to design parallel algorithms , analyze their complexities, estimate/predict performance, implement and explain empirical observations.
Demonstrate the ability to differentiate among parallel architectures and network interconnect models.
Obtain proficiency in reporting of empirical tests and programming exercises in a manner that is consistent with scientific literature.
SAFETY ON CAMPUS
Washington State University is committed to enhancing the safety of the students, faculty, staff, and visitors. It is highly recommended that you review the Campus Safety Plan (http://safetyplan.wsu.edu/) and visit the Office of Emergency Management web site (http://oem.wsu.edu/) for a comprehensive listing of university policies, procedures, statistics, and information related to campus safety, emergency management, and the health and welfare of the campus community
Reasonable accommodations are available for students with a documented disability. If you have a disability and need accommodations to fully participate in this class, please either visit or call the Access Center (Washington Building 217; 509-335-3417) to schedule an appointment with an Access Advisor. All accommodations MUST be approved through the Access Center.