CS/EE 217 GPU Architecture and Parallel Programming - Winter 2019


Course Information


Announcements

Welcome to CS/EE 217!


Class Syllabus

Class webpage and communication

The class webpage is located at http://danielwong.org/teaching/csee217/winter19

Information, resources, and announcements related to the class will be posted to the webpage.

In addition, we will be using iLearn for assignments, and Piazza for discussions and help.

You will need an ENGR account. EE and CEN students should already have one. If you do not, you can create one here: https://www.engr.ucr.edu/secured/systems/login.php

Course Description

Introduces the popular CUDA based parallel programming environments based on Nvidia GPUs. Covers the basic CUDA memory/threading models. Also covers the common data-parallel programming patterns needed to develop a high-performance parallel computing applications. Examines computational thinking; a broader range of parallel execution models; and parallel programming principles.

Prerequisite: CS160 Concurrent Programming and Parallel Systems Strong C/C++ programming skills are required

Textbook

Grade Breakdown

Letter Grade Percentage
A > 93%
A- > 90%
B+ > 87%
B > 83%
B- > 80%
C+ > 77%
C > 73%
C- > 70%

Lab Policies

Policies

Academic Integrity

Here at UCR we are committed to upholding and promoting the values of the Tartan Soul: Integrity, Accountability, Excellence, and Respect. As a student in this class, it is your responsibility to act in accordance with these values by completing all assignments in the manner described, and by informing the instructor of suspected acts of academic misconduct by your peers. By doing so, you will not only affirm your own integrity, but also the integrity of the intellectual work of this University, and the degree which it represents. Should you choose to commit academic misconduct in this class, you will be held accountable according to the policies set forth by the University, and will incur appropriate consequences both in this class and from Student Conduct and Academic Integrity Programs. For more information regarding University policy and its enforcement, please visit: http://conduct.ucr.edu.

Attendance

You are expected to attend all lectures. While the slides contain all the information you need to know, some of the contents don't make sense unless you attend lecture. =)


Tentative Schedule

The following schedule is tentative and is subject to change.

Note: You need to be registered in Piazza to access the lecture slides.

Week Date Topic Assignments Slides
1 January 7, M Introduction, OS/Architecture Review Introduction.pptx
ArchitectureReview.pptx
1 January 9, W CUDA C CudaC.pptx
1 January 11, F CUDA Parallelism Lab 0 - CUDA Setup CudaParallelism.pptx
2 January 14, M TB / Warp Scheduling GPU-Architecture.pptx
2 January 16, W GPGPU-Sim Simulator Lab 0 - GPGPU-Sim Setup
2 January 18, F Reduction Algorithm / Control Divergence Lab 1 - Reduction, Lab 0 Due Reduction.pptx
Reduction.pdf
3 January 21, M No class - MLK Day
3 January 23, W Matrix Multiply MatrixMultiply.pptx
MatrixMultiply.pdf
3 January 25, F Matrix Multiply (cont.)
4 January 28, M DRAM / Memory Coalescing Lab 1 Due,
Lab 2 - Tiled Matrix Multiplication
MemoryCoalescing.pptx
MemoryCoalescing.pdf
4 January 30, W GPGPU Memory Optimizations MemoryOptimization.pptx
MemoryOptimization.pdf
4 February 1, F Histogram & Atomic Operations Final Project Histogram.pptx
Histogram.pdf
5 February 4, M Histogram & Atomic Operations (cont.) Lab 3 - Histogram Nvidia Atomic Implementation
5 February 6, W Stencil/Convolution Lab 2 Due Stencil.pptx
Stencil.pdf
5 February 8, F TBD
6 February 11, M Review
6 February 13, W Midterm Exam Lab 3 Due
6 February 15, F Modern CUDA - Streams Streams.pptx
Streams.pdf
7 February 18, M No class - Presidents Day
7 February 20, W Project progress meeting
7 February 22, F Project progress meeting
8 February 25, M Modern CUDA - Unified Memory Lab 4 - Cuda Streams UnifiedMemory.pdf
8 February 27, W High-level Libraries (cuBLAS, cuDNN, TensorFlow, NCCL) Libraries.pdf
Libraries.pptx
cuBLAS on Bender
8 March 1, F High-level Libraries (TensorFlow) Tensorflow.pptx
TensorflowExamples.zip
9 March 4, M GPU Architecture - Warp Scheduling Paper Critique TL(Paper).pdf
TL.ppt
WarpedGates(Paper).pdf
WarpedGates.pptx
9 March 6, W GPU Architecture - Register Files Lab 4 Due RF-Virt(Paper).pdf
RF-Virt.pptx
9 March 8, F GPU Architecture - Multi-GPU Multi-GPU.pdf
10 March 11, M GPU Architecture - GPU Sharing GPUSharing.pdf
10 March 13, W Guest Speaker - Hodjat Asghari Esfeden In-class Extra Credit Assignment
10 March 15, F GPU Research Trends Paper Critique Due
11 March 20, W Final Project Due