IEEE Boston Section Tech Site IEEE Logo

Serving Eastern Massachusetts

Course Description

Course Name: C3 - Introduction to GP-GPU Programming
Time & Date: Tuesdays, 7:00 - 9:00 PM, March 13, 20, 27, April 3 & 10
Location: Holiday Inn Select Hotel, 15 Middlesex Canal Park Rd, Woburn, MA
Speaker: James T. Demers, Physical Sciences Inc.

Class Description:

These lectures open the fast-growing field of general-purpose GPU programming to existing developers. This course focuses on Nvidia’s GPUs and the CUDA environment, explaining the rationale for using GPUs, the underlying hardware and software architectural concepts, and optimization for both performance and development time.

Lab exercises are included in the course, but require a laptop for access to the lab system. Labs require a laptop that can remotely access the development system using SSH and VNC. Remote access software and instruction will be provided at the course for those who do not currently have such software installed on their laptops. No other special software or hardware is required.

Prerequisites:

Knowledge of C and C++. No prior knowledge of GPUs in any form is required.

Target Audience:

Software developers desiring to create or accelerate software using GPUs as general-purpose co-processors.

OUTLINE

1. GP-GPU Ecosystem

Introduction

Hardware

Software

Tools

Documentation

System Access

Measuring Performance

Getting Started

2. GPU Software Development

Memory Types

Data Transfers

Lab 1: Element-wise operations

Contention in Parallelization Efforts

Shared Memory

Atomic Operations

Parallel Reductions

Lab 2: Dot-products

3. Using CUDA Libraries

cuBLAS

cuFFT

CULA

cuSparse

cuRand

Lab 3: Vector Scaling

NPP

Lab 4: Image Processing

Software Pitfalls

4. Matrix Multiplication

Pitch & Alignments

Lab 3: Matrix Multiplication

CPU version

CPU BLAS version

GPU version

GPU-optimized version

GPU cuBLAS version

5. Other Topics

Texture References

Using Multiple CUDA GPUs

OpenCL & DirectCompute

OpenGL & DirectX Synergy

NVIDIA Roadmap

Lecturer’s Biography:

A graduate of MIT, James T. Demers has been developing parallel processing applications for 20 years at companies such as MIT Lincoln Laboratory, Mercury Computer Systems, and Physical Sciences. He has experience programming several types of processors, such as PowerPC, TI DSP, the Cell BE, and Nvidia’s GPUs for image and signal processing applications. He can be reached at ieee@demers-family.org

Decision (Run/Cancel) Date for this Courses is Monday, March 5, 2012

FEES

Payment received by March 1: IEEE Members $390

Payment received by March 1: Non-members $435

Payment received after March 1: IEEE Members $435

Payment received after March 1: Non-members $465

Register online here.