GPU Users Group

From QED

Jump to: navigation, search
Discussion Board



Welcome to the GPU users group at Princeton University! This group is a special interest group intended to be a resource for those involved in general-purpose computing on graphics processing units (GPGPU) on campus. By bringing together GPU users and enthusiasts from different domains, the group hopes to potentially find solutions applicable to other domains, share knowledge and keep updated with the newest technology.

Its first meeting was held on Oct 9, 2012 and was attended by 18 people, mostly graduate students, postdocs and research staff from seven academic departments, namely Chemical & Biological Engineering, Computer Science, Ecology & Evolutionary Biology, Electronic Engineering, Geosciences and Physics as well as Princeton Plasma Physics Laboratory. These research groups are currently utilizing GPU computing to enable their respective research.

The Princeton Institute for Computational Science & Engineering (PICSciE) is fully supportive of this group. It will help by providing resources and training as well as inviting speakers and experts in GPU computing.

GPU Resources

Meeting Schedule

The second GPU users group meeting will be held on Tuesday, November 6 at noon in the Visualization Lab, 346 Lewis Library. Lunch will be provided.

Tentative Agenda:

1) Bei Wang presentation and Q&A (15 minutes) Title: Gyrokinetic Particle in Cell (PIC) Simulations on GPU

2) What specific technology/topics would you like to see included in the future training?

3) "Un-meeting" session (participants propose discussion items)


GPU Computing Workshop with NVIDIA, Dates & Location TBD

Training Topics

Category Topic Type Description
Intro Intro to GPU Computing Lecture What is a GPU? What are methods to accelerate your work
Intro Using GPU Libraries Lecture Overview of libraries, review of example using cublas
Intro Using OpenACC Lecture Intro to OpenACC, api, examples, tips
Intro CUDA 101 Lecture Basics of CUDA programming, CUDA syntax, memory allocation, kernel constructs, kernel launching
Intermediate CUDA Basic Optimizations Lecture Making CUDA programs run fast, memory coalescing, launch optimization, occupancy
Intermediate CUDA Visual Profiler Lecture Intro to visual profiler, how to profile an app, interpreting results
Intro GPU Programming sequence Hands-On Matrix multiply, starting with cpu code, through OpenACC, then CUDA
Intro Write your own GPU code Hands-On Write basic kernel, do basic operations with threadIdx, etc.
Intermediate GPU Programming sequence Hands-On Grid Example
Intermediate Visual profiler Hands-On Use Visual profiler to find memory coalescing issues in grid example
Intermediate Write your own GPU code Hands-On Students are given their own programming challenge to solve, such as creating a histogram from a 1-D array
Intermediate Programming in Thrust Hands-On Basics of thrust: vectors, transforms

Join Mailing List


Bei Wang, HPC Fusion Research Specialist/Postdoc Researcher, PPPL/PICSciE/PACM

334 Peter B Lewis Library


Ma. Florevel Fusin-Wischusen, Institute Manager, PICSciE

335 Peter B Lewis Library


Personal tools