Navigation

  • index
  • next |
  • previous |
  • mcs572 1.3.5 documentation »
  • Acceleration with Graphics Processing Units

Acceleration with Graphics Processing UnitsΒΆ

A Graphics Processing Unit (GPU) is a massively parallel computer, capable of teraflop performance.

  • A Massively Parallel Processor: the GPU
    • Introduction to General Purpose GPUs
    • Graphics Processors as Parallel Computers
    • Bibliography
    • Exercises
  • Programming GPUs with PyCUDA and Julia
    • Data Parallelism
    • Matrix Matrix Multiplication
    • PyCUDA
    • Vendor Agnostic GPU Computing in Julia
    • Bibliography
    • Exercises
  • Introduction to CUDA
    • Our first GPU Program
    • CUDA Program Structure
    • using CUDA.jl
    • Exercises
  • Data Parallelism and Matrix Multiplication
    • Data Parallelism
    • Code for Matrix-Matrix Multiplication
    • Two Dimensional Arrays of Threads
    • Examining Performance
    • using CUDA.jl and Metal.jl
    • Exercises
  • Device Memories and Matrix Multiplication
    • Device Memories
    • Matrix Multiplication
    • using shared memory with CUDA.jl
    • Bibliography
    • Exercises
  • Thread Organization and Matrix Multiplication
    • Thread Organization
    • Matrix Matrix Multiplication
    • Submatrices with Threads in CUDA.jl
    • Thread Synchronization
    • Bibliography
    • Exercises
  • Warps and Reduction Algorithms
    • More on Thread Execution
    • Parallel Reduction Algorithms
    • Julia Defined Kernels
    • Bibliography
    • Exercises

Previous topic

Work Stealing

Next topic

A Massively Parallel Processor: the GPU

This Page

  • Show Source

Quick search

Navigation

  • index
  • next |
  • previous |
  • mcs572 1.3.5 documentation »
  • Acceleration with Graphics Processing Units
© Copyright 2016-2024, Jan Verschelde. Created using Sphinx 7.3.7.