Skip to content

UCSD ECE277 GPU Programming coursework: GPU-accelerated reinforcement learning on CUDA C with Nsight System

Notifications You must be signed in to change notification settings

udaymallappa/ECE277-GPU-WI21

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECE 277 GPU Programming

This course is a high-level GPU programming for parallel data processing. Topics cover parallel CUDA programming on GPU including efficient memory access, threading models, multi-stream, and multi-GPU programming. Focusing on hands-on applications such as big data processing, visualization, and an artificial intelligence through the real-time GPU system.

Recommended preparation: High-level C/C++ programming skills, ECE 15 or equivalent, CSE 240A or the equivalent.

Prerequisites: graduate standing.

This course aims to learn high-level CUDA programming skills through class labs, class quiz, and homework labs. Thus, all the enrolled students are required to be familiar with C/C++ programming and computer architecture such as SIMD, cache, registers, memory, instructions, pipeline, and so on (Check out Prerequisites).

Also, all the enrolled students must be familiar with CMake and Visual Studio compile and debug.

Textbook:

John Cheng, Max Grossman, Ty McKercher, "Professional CUDA C Programming", Wiley, 2014. ISBN: 978-1-118-73932-7

Prerequisites:

C/C++ programming skill (require hands-on experiences) (ECE-15, ECE-17)

CPU architecture course (ECE-30)

Recommendations:

Machine learning and Pytorch

Here are some online tutorials for CMake and Visual Studio.

  1. CMake for Visual studio

Basic CMake Hello World: https://www.youtube.com/watch?v=nbNDhC9Tvg4

  1. Visual Studio Debugging

How to debug C++ in VS. :https://www.youtube.com/watch?v=0ebzPwixrJA

Lab

  1. Lab1: No-learning Reinforcement Learning - cuda memory allocate
  2. Lab2: Single Agent Reinforcement Learning
  3. Lab3: Multi-Agent Reinforcement Learning on CUDA
  4. Midterm: Optimization Strategies for Lab3
  5. Final Project

Quiz

  1. Quiz0: CUDA setup
  2. Quiz1: CPU and GPU programming
  3. Quiz2: CUDA boot speed programming

About

UCSD ECE277 GPU Programming coursework: GPU-accelerated reinforcement learning on CUDA C with Nsight System

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published