When

Friday January 15, 2016 from 9:30 AM to 12:30 PM EST
Add to Calendar 

Where

Northwest Building, B1 Level 
52 Oxford Street
Cambridge, MA 02138
 

 
Driving Directions 

Contact

Harvard Paulson School 
Institute for Applied Computational Science
Sheila Coveney, Program Manager 

617-384-9091 
iacs-info@seas.harvard.edu 

 

IACS ComputeFest Workshop:
GPU Programming and Optimization with NVIDIA CUDA Part 2 of 2

Friday, January 15, 2016
9:30am - 12:30pm 

Presenter: Jonathan Bentz, NVIDIA
Facilitator: Barton Fiske, NVIDIA

NVIDIA GPUs and NVIDIA CUDA provide the most pervasive parallel computing model in use today across a wide variety of scientific applications which have been optimized for a multitude of workloads by over 150,000 developers worldwide. This workshop will focus on sharing some of the lessons learned from these optimization techniques for scientific programming utilizing NVIDIA GPUs to accelerate domain leading applications. The workshop will introduce programming techniques using CUDA and developer tools for optimization, profiling, and debugging strategies for GPU programming. Topics covered include GPU Architecture, Introduction to CUDA, CUDA Libraries, and CUDA performance tools such as NVIDIA Visual Profiler along with hands on examples using NVIDIA provided cloud based GPU resources and development tools.

This Day 2 Morning Workshop will cover:

  • GPU Programming & Optimization with NVIDIA CUDA
  • Parallel Performance and Optimization
  • Overview of Global and Shared Memory usage
  • Hands-On examples: 1D Stencil and Matrix Transpose
  • Using NVIDIA profiler tool to identify performance bottlenecks
  • Using libraries such as CUB and THRUST

Suggested pre-requisites for GPU and CUDA sessions
*Laptop with wireless access and SSH client installed
*Basic Linux desktop and command line familiarity including use of a standard file editor such as VIM or Emacs.
*Familiarity with software development tools and concepts: compiling, linking and using GNUMake.
*Rudimentary programming experience in C/C++ (memory management using malloc/free, using pointers, etc)

(Note: Part 1 of this workshop is offered on Thursday, January 14 at 9:00am. 
Sign up here for the Thursday workshop.)