Learning Materials


  1. Introductory Reading (Required)
    1. GPU architectures and programming
    2. Performance Modeling
  2. CUDA Related Documents (Recommended)
  3. Other GPU Courses (Optional)
  4. Advanced Reading (Optional)
    1. Thread Scheduling and Context Managing
    2. Branch and Control Flow
    3. Memory Hierarchy and Network-On-Chip

Introductory Reading (Required)

GPU architectures and programming

Performance Modeling

CUDA Related Documents (Recommended)

NVIDIA provides a list of documentations. You can selectively read these documents according to your needs. Yet two of them are particularly relevant to the assignment (see the two bullets below). Therefore, we recommend you to look into them. It takes some time to read them, but they will save you a lot of effort later.

Other GPU Courses (Optional)

Here is a list of courses related to GPU architecture and/or GPU programming:

Advanced Reading (Optional)

This list highlights some recent research works (2009--2012) on GPUs and other throughput-oriented SIMD architectures. Despite that the papers are sorted into different categories, most papers touch all architectural aspects of the GPUs.

Thread Scheduling and Context Managing

Branch and Control Flow

Memory Hierarchy and Network-On-Chip