May 5, 2015 · 9:30 a.m.– 4:30 p.m. · 120 Lewis Science Library
NVIDIA and PICSciE will present a GPU programming workshop where participants will learn how to program GPUs via the use of libraries, OpenACC compiler directives, and CUDA C/C++ programming. Users will engage in a broad range of hands-on exercises intended to familiarize them with GPU programming. Topics range from introductory concepts to intermediate discussions on performance optimizations, use of profiling tools and debuggers, using asynchronous programming techniques such as CUDA streams, etc. No GPU programming experience will be assumed, but participants should have some experience of Linux and a working knowledge of C to complete the exercises. We’ll be using a remote system so users should bring a laptop with an SSH client installed.
Dr. Jonathan Bentz is a Solution Architect with NVIDIA, focusing on Higher Education and Research customers. In this role he works as a technical resource to customers and OEMs to support and enable adoption of GPU computing. He delivers GPU training such as workshops to train users and help raise awareness of GPU computing. He also works with ISV and customer applications to assist in optimization for GPUs through the use of benchmarking and targeted code development efforts. Prior to NVIDIA Jonathan worked for Cray as a software engineer where he developed and optimized high performance scientific libraries such as BLAS, LAPACK, and FFT specifically for Cray platforms. Jonathan obtained a PhD in physical chemistry and an MS in computer science from Iowa State University.
Space is limited to 40 participants, so register today at the Training website, or contact Andrea Rubinstein at firstname.lastname@example.org /258-1397.
• Intro to GPU Computing (Lecture) [Intro]
o What is a GPU? How is it important in HPC? How to utilize GPU Computing. App catalogue survey.
• Programming GPUs (Lecture) [Intro]
o Discussion of GPU libraries, OpenACC directives and CUDA programming.
• Get users setup on system with Robert Knight/Ian Cosden
• Using OpenACC (Hands-on) [Intro]
o Intro to OpenACC with examples.
• CUDA 101 (Lecture) [Intro]
o Basics of CUDA programming, CUDA syntax, memory allocation, kernel constructs, kernel launching.
• CUDA programming (Hands-on) [Intro]
o Test/Verify CUDA driver and CUDA toolkit installations
o Write and launch simple kernels such as “Hello World”.
o Use Grids and blocks.
o Using shared memory in stencil codes.
• CUDA optimizations (Lecture) [Intermediate]
o Memory coalescing, shared memory banks, occupancy, etc.
• CUDA programming (Hands-on) [Intermediate]
o Matrix transpose example
• Use shared memory
• Use the Visual Profiler
• CUDA optimizations (Hands-on) [Intermediate]
o Streams and concurrency.
May 11, 2015 · 8:00 a.m.– 5:00 p.m. · Carl Fields, MPR 104
The Princeton-Industry Symposium on High Performance Computing is organized and sponsored by the Princeton Institute for Computational Science & Engineering (PICSciE). Its main focus is on high performance computing challenges in academia and industry, particularly in IT/computing, petroleum, chemical and pharmaceutical industries. There will be presentations, poster sessions and open discussions during the symposium.
· High performance computing
· Data formats and storage
· Visualization & virtualization
· Exascale computing
Co-sponsored by the Offices of the Dean for Research, Corporate and Foundations Relations and the Office of Information Technology. Registration is now open.
Aug 24, 2015 · 9:00 a.m.– 5:00 p.m. · Room 346, Visualization Lab
This two-day training covers all aspects of visualizing data from a broad variety of domains. The training kicks off with an introduction to visualization followed by best practices when dealing with diverse data (abstract and spatial), demonstrating a variety of methods and techniques on those data sets and demonstrating a range of freely available software. Real world problems for which visualization is needed will be demonstrated and attendees will be taken through the process of visualizing this data and gaining insight.