General Purpose Computing Using GPUs on a Linux Cluster:
An Introduction and Programming Practicum
Hosted by HPCMP PET - FMS
7021 Harbour View Blvd.
23 Thru 25 October
Suffolk, VA
Maps of Norfolk-SAIC/J9 Area and SAIC Building
Course Background The simulation community has often been hampered by constraints in computing: not enough resolution, not enough entities, not enough behavioral variants. High Performance Computing (HPC) can ameliorate those constraints. The use of Linux Clusters is one path to higher performance; the use of Graphics Processing Units (GPU) as accelerators is another. These are often called General Purpose GPUs (GPGPUs). Merging the cluster and GPGPU paths holds even more promise. The ISI team members were the principal architects of a successful proposal to the High Performance Computing Modernization Program (HPCMP) for a new 512 CPU (1024 core), GPU-enhanced Linux Cluster, joshua, for the Joint Forces Command’s Joint Experimentation Directorate (J9). This cluster was awarded to J9 via the Dedicated HPC Project Investment program, DHPI and was configured in such a way to putatively utilize the GPUs to increase performance by a factor of two or more, with concomitant savings in cost, power and space. Offering this course will aid JFCOM as they work to take full advantage of the new JFCOM cluster. One of the unique aspects of the new machine is that there is a state-of-the-art NVIDIA GPU in each node. These GPGPUs can be programmed using the new CUDA programming language (Compute Unified Device Architecture, a "C-like" language). JFCOM has a need to improve simulation performance on the new cluster and will make modifications to simulation programs such as JSAF, enabling them to take advantage of heterogeneous HPC architecture. As JFCOM conducts their Noble Resolve experiments focused on emergency responses in urban areas, performance needs to be improved to adequately model the complexities of these crowded areas and large populations. They will need to make the most of the new GPGPU-enhanced Linux cluster asset. Programming models, code examples and practice problems in CUDA will be presented and implemented in class. |
0. Data from Course Itself
0.1 Course Materials
0.2 Pictures of Course and Participants
1 CLOSED - Registration for HPCMP users.
1. a - CLOSED - Pre-Registration for those who cannot register through the above page,
e.g. not a member of one of the designated organizations.
1. b Attendees and staff = 30 (Modal degree = MS CS)
1. c CLOSED You are invited to give us your input via a short GPU Course Questionnaire
2. Date and location:
23 thru 25 October 2007
SAIC Building Suffolk, VA
3. Agenda and Speakers
3.1 Staff and Participant Speakers
PET FMS FAPOC - Dr. David Pratt
PET FMS On-Site - Dr. Phil Amburn
Class Host and Leader - Dan Davis
Class Lecturers - Dr. Patrick Legresley and Dr. Paulius Micikevicius
Practicum Leader - Gene Wagenbreth
Videographer - Jon Faschingbauer
JFCOM/JSAF - Bill Helfinstine (computing needs and models)
3.2 Schedule
Tuesday
(all invitees)
0900 - Welcome and User Needs - Dan Davis
0930 - GP & GPGPU Vision, history, and opportunity - Dr. David Pratt
1000 - Early GPGPU work and uses - Sanford Russell
1100 - Introduction to GPGPU concepts
1200 - Lunch 1300 - Hardware Architecture - nVidia
1500 - Software Architecture and Programming Model - nVidia
1600 - JFCOM needs and JSAF program architecture - Bill Helfinstine
1700 - Secure for Day
Wednesday
(serious coders only)
0900 - Programming experience and examples
1030 - Performance tuning and optimization
1200 - Lunch
1300 - Coding Practicum for Journeyman Programmers - nVidia and Gene
1700 - Secure for Day
Thursday
(survivors only)
0900 - Exercise in programming model for JFCOM code
1100 - Work on participant projects
1200 - Lunch
1300 - Coding Practicum for Journeyman Programmers
1500 - Evaluation of Coding Efforts by Attendees
1600 - Discussion of future use of joshua, coding, input for nVidia, etc.
1700 - Evaluations and class wrap up