Home CPSC 425

CPSC 425: Parallel Computing

Meeting Times:Monday, Wednesday, Friday, 9:00 - 9:50, Trinkle B7
Instructor:Ian Finlayson
Email:ifinlay@umw.edu
Office:Trinkle B18
Office Phone:540-654-1714
Office Hours:MWF 11:00 - 12:00, TR 9:00 - 11:00, or by appointment.

Course Description

This course provides an introduction to parallel computing, covering topics including parallel architectures, programming techniques and libraries, the study of existing parallel computing systems, and performance analysis. Students will use a variety of hardware to explore current libraries and methods used for parallel programming.


Course Goals & Objectives


Grading Policy

Your grade will be determined as follows: The grading scale used for this course is as follows:

Late assignments will have a 10% reduction in grade for each day late. Lab assignments will be due by the start of the next class period after they are assigned. There will be no make up for missed tests. If you cannot attend a test period, please contact me ahead of time to arrange another time to take it. Final grades will not be rounded up, and no extra credit opportunities will be given on an individual basis.

The University provides the opportunity to provide grading feedback midway through the semester. This will take into account your score on the mid-term exam and the programming projects submitted up to that point. Any student receiving less than a 65% on either of these will receive a "U" for their mid-semester grade. If this happens to you, please don't hesitate to talk with me about how we can improve your performance in this class.


Student Conduct


Honor Policy

Students are expected to conduct themselves in a manner consistent with the letter and spirit of the UMW Honor Constitution, as well as the CPSC department honor policy. For this class in particular:

For labs, collaboration is OK. The goal of the labs is to ensure you understand the concepts we are going over.

For projects, you may discuss the ideas with other students, but all of your work must be your own. You must yourself write and understand everything in each assignment you submit. It is an honor code violation to copy directly from another student either by copy and paste or by transcription, or to copy from the web.

For exams, you can not talk to anyone during the exam, or use any kind of notes.

If you have any questions or need clarification, please don't hesitate to contact me!


Disability Statement

The Office of Disability Services has been designated by the University as the primary office to guide, counsel, and assist students with disabilities. If you already receive services through the Office of Disability Services and require accommodations for this class, make an appointment with me as soon as possible to discuss your approved accommodations needs. Please bring your accommodation letter with you to the appointment. I will hold any information you share with me in the strictest confidence unless you give me permission to do otherwise. If you have not contacted the Office of Disability Services and need accommodations, I will be happy to refer you. The office will require appropriate documentation of disability. Their phone number is 540-654-1266. The office is located in Lee Hall, Room 401.

Title IX Statement

The University of Mary Washington faculty are committed to supporting students and upholding the University's Policy on Sexual and Gender Based Harassment and Other Forms of Interpersonal Violence. Under Title IX and this Policy, discrimination based upon sex or gender is prohibited. If you experience an incident of sex or gender based discrimination, we encourage you to report it. While you may talk to me, understand that as a "Responsible Employee" of the University, I must report to UMW's Title IX Coordinator what you share. If you wish to speak to someone confidentially, please contact the below confidential resources. They can connect you with support services and help you explore your options. You may also seek assistance from UMW's Title IX Coordinator. Please visit http://diversity.umw.edu/title-ix/ to view UMW's Policy on Sexual and Gender Based Harassment and Other Forms of Interpersonal Violence and to find further information on support and resources.


Recording Statement

Classroom activities in this course may be recorded by student's enrolled in the course for the personal, educational use of that student or for all students presently enrolled in the class only, and may not be further copied, distributed, published or otherwise used for any other purpose without the express written consent of the course instructor. All students are advised that classroom activities may be taped by students for this purpose. Distribution or sale of class recordings is prohibited without the written permission of the instructor and other students who are recorded. Distribution without permission is a violation of copyright law. This policy is consistent with UMW's Policy on Recording Class and Distribution of Course Materials.


Tentative Schedule

Date Class Topic Assignment Due
August 27 Course Introduction  
August 29 Parallel Hardware  
August 31 Parallel Software  
September 3 No class, Labor Day
September 5 Introduction to Pthreads  
September 7 Lab 1: Pthreads  
September 10 Critical Sections & Mutexes  
September 12 Lab 2: Thread Timing  
September 14 Hurricane Florence!
September 17 Semaphores  
September 19 Semaphores Continued  
September 21 Lab 3: Deadlock  
September 24 Barriers & Conditions  
September 26 Read-Write Locks  
September 28 Lab 4: False Sharing  
October 1 Introduction to OpenMP  
October 3 Reductions & Parallel For  
October 5 Lab 5: OpenMP Knapsack Problem Due
October 8 Scheduling  
October 10 OpenMP Synchronization  
October 12 Midterm Exam
October 15 Fall Break
October 17 No class
October 19 No class
October 22 Introduction to MPI  
October 24 MPI Continued  
October 26 Lab 6: MPI  
October 29 Collective Communication  
October 31 MPI Odds & Ends  
November 2 Lab 7: Collective Communication Horizontal Blur Due
November 5 Distributed computing  
November 7 No Class  
November 9 Lab 8: MPI Deadlock  
November 12 No Class  
November 14 Introduction to Cuda  
November 16 Lab 9: CUDA  
November 19 More Cuda Programming  
November 21 Thanksgiving Break
November 23 Thanksgiving Break
November 26 CUDA Threads Forest Simulation Due
November 28 CUDA Synchronization  
November 30 Lab 10: CUDA Threads  
December 3 Parallel Sorting  
December 5 Distributed Sorting  
December 7 Parallel Searching, Exam Review  
December 12 Final Exam, 8:30 - 11:00 AM

Copyright © 2018 Ian Finlayson | Licensed under a Creative Commons Attribution 4.0 International License.