PGI will be conducting a one day tutorial on "GPU Programming with the PGI Accelerator Programming Model and with PGI CUDA Fortran" on Monday 16 November 2009. The tutorial includes:
- Full day training course (syllabus below)
- A complimentary single-seat node-locked license of PGI Accelerator Fortran/C/C++ compilers and tools with PGI CUDA Fortran—up to a $1500 value!
- Printed and/or electronic copy of the presentation materials
- Hosted lunch and afternoon reception with the PGI engineering team
To participate, please complete the registration form.
Schedule
Date: Monday 16 November 2009
08:00 - 08:30 - Registration and Coffee
08:30 - 09:00 - Introduction to GPU programming
09:00 - 10:00 - CUDA Fortran Programming
10:00 - 10:15 - Break
10:15 - 11:15 - CUDA Fortran Programming (cont)
11:15 - 12:00 - Introduction to PGI Accelerator programming
12:00 - 12:45 - Hosted lunch
12:45 - 13:45 - PGI Accelerator directives
13:45 - 14:15 - Interpreting Compiler Feedback
14:15 - 14:30 - Break
14:30 - 15:00 - PGI Accelerator Tips & Tricks
15:00 - 16:00 - Performance Tuning
16:00 - 17:30 - Hosted reception - meet the PGI Engineering Team
Schedule is subject to minor changes. Tutorial will be held one block from
the Oregon Convention Center.
Tutorial Syllabus
Part I. Introduction (0:30)
-
CPU Architecture vs. GPU Architecture (15 minutes)
-
How does a GPU differ from a CPU?
-
How is the GPU connected to the host?
-
Why is parallel programming for GPUs different than for multicore?
-
What is a GPU thread and how does it execute?
-
How can I identify my GPU?
-
Introduction to GPU Programming (15 minutes)
-
How does data get to the GPU?
-
How does a program run on the GPU?
-
What kinds of parallelism is appropriate for a GPU?
Part II. CUDA Fortran (2:00)
-
Low-level GPU Programming using CUDA Fortran (60 minutes)
-
Declaring and allocating device memory data
-
Moving data to and from the device
-
Launching kernels
-
Writing kernels
-
What is allowed in a kernel vs. what is not allowed
-
Device modules
-
The CUDA Runtime API
-
CUDA Fortran vs. CUDA C
-
Building CUDA Fortran programs (15 minutes)
-
PGI CUDA Fortran compiler options
-
Running your program
-
Performance Tuning (45 minutes)
-
Measuring performance, using cudaprof
-
Occupancy, memory coalescing
-
Optimizing your kernels
-
-
Optimize communication between host and GPU
-
Optimize device memory accesses, shared memory usage
-
Optimize the kernel code
-
Debugging using emulation
Part III. PGI Accelerator Model (3:30)
-
High-level GPU Programming using the PGI Accelerator Model (30 minutes)
-
What role does a high-level model play?
-
Basic concepts and directive syntax
-
Accelerator compute and data regions
-
Appropriate algorithms for a GPU
-
Building Accelerator Programs (15 minutes)
-
Command line options
-
Enabling compiler feedback
-
Accelerator Directive Details (60 minutes)
-
Compute regions
-
Clauses on the compute region directive
-
What can appear in a compute region
-
Obstacles to successful acceleration
-
Loop directive
-
Clauses on the loop directive
-
Loop schedules
-
Data regions
-
Clauses on the data region directive
-
Interpreting compiler feedback (30 minutes)
-
Using pgprof source browser
-
Hindrances to parallelism
-
Data movement feedback
-
Reading kernel schedules
-
Tips and Tricks (25 minutes)
-
Choosing accelerator device
-
PGI Unified Binary for multiple host or multiple accelerators
-
Performance profiling information
-
Optimizing initialization time
-
Performance Tuning (50 minutes)
-
Appropriate algorithm
-
Optimizing data movement between host and GPU
-
Optimizing kernel performance
-
Tuning the kernel schedule
Location
1 N. Center Court St.
Portland, Oregon USA 97227
Location is approximately 0.25 miles from the Oregon Convention Center (lower right corner), site of SC09. Free light rail service (MAX) is available from the Convention Center (corner of NE Holladay St. and NE ML King Blvd) to the Rose Quarter site of the PGI tutorial (upper left corner). MAX riders, board on the north side of NE Holladay St. (across the street from the Convention Center) and exit the first stop after boarding.
View PGI Tutorial in a larger map
Terms and Conditions
- Price is $500US per attendee.
- Attendance at the tutorial is required to receive the complimentary license of the PGI Accelerator Fortran/C/C+++ Workstation compilers. & tools.
-
Attendance is limited to the first 50 registrants, first come first
served.
- 100% registration fee credit for cancellations received before 5 November 2009. 50% credit for cancellations received between 5–12 November. No credit for cancellations received after 12 November.