We are excited to announce 2019 GPU Hackathons!
|Call for Proposals Opens
|Call for Proposals Closes
|KISTI – Seoul, South Korea
|Pawsey SC – Perth, Australia
|Helmholtz – Jülich, Germany
|JGI – Walnut Creek, CA
(focus on bioinformatics community)
|MIT – Cambridge, MA
|Princeton – Princeton, NJ
|NERSC – Oakland, CA
|Sheffield – United Kingdom
|Brookhaven – Upton, NY
|CSCS – Lugano, Switzerland
|September 30 – October 4
|OLCF – Knoxville, TN
What is a GPU Hackathon?
A GPU hackathon is a 5-day coding event in which teams of developers port their applications to run on GPUs, or optimize their applications that already run on GPUs. Each team consists of three or more developers who are intimately familiar with (some part of) their application, and they work alongside two mentors with GPU programming expertise. The mentors come from universities, national laboratories, supercomputing centers, government institutions, and vendors.
Participating in a GPU hackathon provides a unique opportunity for teams to jumpstart acceleration or optimization of their code on GPUs. With the help of two experienced mentors, by the end of the event each team should have their code running on GPUs, or at least have a clear roadmap of how to get there.
Why Use GPUs?
GPUs have thousands of cores and are proven to be powerful accelerators for parallel codes. Scientists and researchers commonly see 2-10x performance increase while using GPUs for their applications. There are a variety of tools available to program GPUs (e.g. CUDA, OpenACC, OpenMP4.5+, etc.) and we encourage you to explore the best one for your needs.
We are looking for teams of 3-6 developers with a scalable** application to port to (or optimize on) a GPU accelerator. Collectively the team should know the application intimately. If your application is actually a suite of apps, no more than two per team is allowed and a minimum of 2 people per app must attend. Please keep in mind that we are looking for teams with plans to develop GPU code – not to just run their code on GPUs.
(** by scalable we really mean node-to-node communication implemented, but don’t be discouraged to apply if your application is less than scalable. We are also looking for breadth of application areas.)
Ok, So How Can I Attend?
First, you must decide which event you would like to attend (see table of events above for locations and proposal windows) and submit a proposal (see “Team Proposal” tab below) describing your application and team. The organizing committee will then review all proposals and choose the teams they believe are best suited for the event.
How to Prepare
- GPU programming experience is not a requirement, but in the weeks preceding the hackathon, you are encouraged to learn about the different programming model(s) you might want to use. (see the “Training Materials” tab below as a starting point)
- If your code is over 100,000 lines, please select and extract a stand-alone representative kernel(s) from the original application to start working with at the event.
- For more details on the structure of these events, please see the GPU Hackathon Attendee Guide, which is based on the experiences and suggestions of the organizers, mentors, and attendees over the years.
Costs and Prizes
Events are free for participants. Organizers will provide a meeting room, lunches, mentors and access to compute resources. Hackathons are a collaboration and not a competition. The only prizes offered are new levels of performance for your code, time with experts, ability to run on supercomputers and unforgettable experience that might bring you closer to a new paper or talk.
Want to Be a Mentor?
If you would like to volunteer to mentor a team at an upcoming GPU hackathon, please visit our GPU Hackathon Mentors page to sign up.
Who Can I Contact With Questions?
If you have any questions, please contact Tom Papatheodore (firstname.lastname@example.org).
Introduction to OpenACC Online Course (recording) – presented by NVIDIA
Introduction to HPC (see “Presentations” tab) – presented by OLCF
Introduction to GPU Computing – presented by NVIDIA at OLCF
Introduction to CUDA C/C++ – presented by NVIDIA at OLCF
Introduction to OpenACC – presented by NVIDIA at OLCF
Introduction to Summit Webinar – presented by OLCF