CPT S 411: Introduction to Parallel Computing
(August 21, 2017 - December 15, 2017)
EME B46 (Pullman campus)
EME 237, 335-6760
Weekly office hours: Wednesdays 3:30-4:30pm
Instructor email contact: Through OSBLE+ (http://plus.osble.org)
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):
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). The following books will serve as references:
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 & OSBLE+:
The course will use two web resources for two different purposes:
Mail Alert: Students are advised to check their OSBLE mailbox at least once a day.
By default, every 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. "Individual" assignments means that no collaborations are allowed. You are expected to work on the problems all by yourself. Consulting solutions online will also be considered "cheating" and is strictly prohibited. For "collaborative" assignments, strict adherence to the following guidelines is required:
Programming Project Policy:
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 3 students, with the average team size being 2. 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".
Academic Integrity Policy:
*Please read carefully*
Academic integrity is the cornerstone of the university. You
assume full responsibility for the content and integrity of the academic
work you submit. You are allowed to collaborate with classmates only if
an assignment allows it explicitly. For collaborative assignments,
however, the guiding principle of academic integrity shall be that your
submitted work, examinations, reports, and projects must be your own
work. 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.
General 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
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 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 intraconnect 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
STUDENTS WITH DISABILITIES
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.
OLD ANNOUNCEMENTS ARCHIVE