EE563 Programming Massively Parallel Processors

Resources

CUDA toolkit documentatioin (https://docs.nvidia.com/cuda/index.html)
Introduction to CUDA (https://devblogs.nvidia.com/even-easier-introduction-cuda/)

GPU server

The CUDA server is accessible through SSH on port 222 at roberge.duckdns.org. To connect to the server from a Windows computer, I recommend using the Putty client. To forward gedit to your local computer, use the EE563_xubuntu virtual machine in VirtualBox.

Schedule

The course will follow the schedule shown below. Component 1 will take place during weeks 1 to 8 while components 2 and 3 will cover weeks 9 to 13.

Wk

Date

Lectures

References

Others

Laboratories

1

11-15 Jan

Introduction to Massively Parallel Computing

Introduction to CUDA

Chap 1-2

Download all lectures

slides in pdf

itune videos

Connect to the CUDA server

Xubuntu VM

Complete the CUDA Tutorial
(read the entire tutorial and refer back to it as needed throughout the course)

2

18-22 Jan

CUDA Threads & Atomic operations

CUDA Memories

Performance Considerations

Chap 3-6

 

Lab 1

(due on 4 Feb)

Notes for Visual Studio users

3

25-29 Jan

Parallel Patterns I

Parallel Patterns II

Chap 7-9

 

 

4

1-5 Feb

Introduction to Thrust

Sparse Matrix

Vector Operations

Chap 10

 

Lab 2

(due on 25 Feb)

5

8-12 Feb

Solving Partial Differential Equations with CUDA

The Fermi Architecture

Chap 13

 

 

6

15-19 Feb

NVIDIA OptiX: Ray Tracing on the GPU

Future of Throughput

Chap 17

 

 

7

22-26 Feb

Path Planning System on the GPU

Optimizing Parallel GPU Performance

Parallel Sorting

Chap 11-12

CUDA reduce with smem

CUDA reduce pair with smem

Lab 3

(due on 14 Mar)

8

1-5 Mar

Project work

 

 

 

9

8-12 Mar

Project work

 

OpenMP add

OpenMP scan

Project proposal due

 Lab 4

(due on 25 Mar)

10

15-19 Mar

Project work

 

CUDA scan

MPI pi

MPI pi with reduction

 

11

22-26 Mar

Project work

 

 

 

12

29 Mar - 2 Apr

Project work

 

 

 

13

5-9 Apr

Project work

 

 

 

14

12-16 Apr

Project work

 

Parallel reduce using Cub library

 

15

19-23 Apr

Project presentations

22 Apr at 10h00

 

Project report and Paper critique also due on 22 Apr at 10h00

 

16

26-30 Apr