Course Syllabus

CS4230-001/CS6230-001: Parallel Programming

 The course will cover the fundamentals of parallel and high-performance computing, including major factors that affect single-thread performance, parallel programming models for multicore processors, GPUs, and distributed-memory clusters; implementation and performance evaluation of parallel programs.

Credits: 3

Prerequisites: Knowledge of C programming

Text: No textbook; all needed materials will be provided through Canvas.

Grading:

  • Assignments:  50% (one assignment with the lowest score will be dropped)
  • Midterms(10/5, 11/9): 15+15%
  • Final (12/7 10:30am-12:30pm):  20%

All assignments must be done individually. Programming assignments must be completed using accounts that will be provided for CHPC systems. Group discussion on concepts and general directions for a solution is permissible when working on assignments, but the actual code or written solution to a problem must be worked out individually. It is not permissible to look at another student's code or share your code with any other student. Please read and ensure that you conform to read the SoC Policy on Academic Misconduct. (Links to an external site.)

 (Links to an external site.)

 (Links to an external site.)

Tentative Course Outline

Sequence     Topic

  1.                    Cache and Data Locality
  2.                    Loop Transformations
  3.                    Performance Measurement
  4.                    Data Dependence Analysis
  5.                    Vectorization
  6.                    Shared-Memory Parallel Programming: OpenMP
  7.                    Roofline Performance Modeling
  8.                    Parallel Programming for GPUs: CUDA
  9.                    Parallel Programming with Message Passing: MPI

 

Tentative Schedule for Assignments

  1. Homework 1 (Cache Basics): Fri. 9/4, 11:59 pm
  2. Homework 2 (Data Locality Analysis): Thu. 9/17, 11:59 pm
  3. Homework 3 (Loop Transformations & Data Dependences): Thu.. 10/1, 11:59pm
  4. Homework 4 (Vectorization): Fri. 10/16, 11:59 pm
  5. Programming Assignment 1 (Loop Transformation, Vectorization, Perf. Measurement): Fri. 10/23, 11:59 pm
  6. Programming Assignment 2 (OpenMP): Wed. 11/4, 11:59 pm
  7. Programming Assignment 3-Part1 (CUDA): Fri. 11/20, 11:59 pm
  8. Programming Assignment 3-Part2 (CUDA): Wed. 12/2, 11:59 pm
  9. Programming Assignment 4 (MPI): Wed. 12/2, 11:59 pm

Late Policy on Assignments: 10% penalty per day late; cannot submit more than 2 days late (e.g., Fri. 11:59 pm deadline => cannot submit after Sunday 11:59 pm).

Office Hours

Instructor Office Hours: Mon, Tue, Wed, Thu: 4:30-6pm (Zoom Link: https://utah.zoom.us/j/92327353608?pwd=WmlHajRtYXBKb0dFdUJyQzQzT0FEQT09)

TAs:  Emre Kurt (u1288779@utah.edu), Mahesh Lakshminarasimhan (u1063433@utah.edu), Miheer Vaidya (u1290058@utah.edu)

TA Office Hours:

Emre Kurt: Wed. 9:30-11:30 am, Fri. 4-6 pm (Zoom Link:

Wed:  https://utah.zoom.us/j/95699869142?pwd=Q1lMVzdqMVFHWkR1ZXBRV0FsY01RQT09

Fri:  https://utah.zoom.us/j/98219825511?pwd=RnRTWjZVdHc0N2k2QzNDd2lRZjRyQT09)

Mahesh Lakshminarasimhan: Mon., Thu. 2-4 pm (Zoom Link: https://utah.zoom.us/j/98850941849?pwd=cnV6TWhPVHMybnpERENCVjFLYkJrdz09)

Miheer Vaidya: Tue., Fri. 12-2 pm (Zoom Link: )

https://utah.zoom.us/j/92138474029?pwd=VmQ5YXFQdHdMZTN1cU0rL2tNTEthUT09 

Add to your calendar: CS4230 Miheer's TA hours.ics

College of Engineering Guidelines

Information on withdrawing from courses, appealing grades, and more, see the College of Engineering Academic Affairs website (Links to an external site.).

 

Students with Disabilities

The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities. If you will need accommodations in the class, please work with the Center for Disability Services, 162 Union Building, 581-5020 (V/TDD). CDS will work with you and the instructor to make arrangements for accommodations.

 

Addressing Sexual Misconduct

Title IX makes it clear that violence and harassment based on sex and gender (which Includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status or genetic information. If you or someone you know has been harassed or assaulted, you are encouraged to come speak to the School of Computing Advisors and/or to the Title IX Coordinator in the Office of Equal Opportunity and Affirmative Action, 135 Park Building, 801-581-8365, or the Office of the Dean of Students, 270 Union Building, 801-581-7066. For support and confidential consultation, contact the Center for Student Wellness, 426 SSB, 801-581-7776. To report to the police, contact the Department of Public Safety, 801-585-2677(COPS). More information is available at https://safeu.utah.edu (Links to an external site.).

University Counseling Services

 (Links to an external site.)

The University of Utah Counseling Center (UCC) offers brief individual, couples and group counseling, psychiatric medication services and psychological assessment for eligible UU students. Any student who is experiencing adverse stress levels should feel free to contact their course instructors, the School of Computing advisors and staff, or contact the UCC directly. For more information, please call 801-581-6826 or refer to: https://counselingcenter.utah.edu/ (Links to an external site.).

Course Summary:

Date Details Due