We are excited to announce 2019 GPU Hackathons!
|Location||Call for Proposals Opens||Call for Proposals Closes||Event|
|KISTI – Seoul, South Korea||November 12||January 25||February 18-22|
|Pawsey SC – Perth, Australia||December 19||February 14||March 25-29|
|Helmholtz – Jülich, Germany||November 16||February 4||April 8-12|
|JGI – Walnut Creek, CA
(focus on bioinformatics community)
|January 10||March 31||May 6-10|
|MIT – Cambridge, MA||February 22||April 5||June 3-7|
|Princeton – Princeton, NJ||January 31||April 26||June 24-28|
|NERSC – Oakland, CA||March 25||May 15||July 15-19|
|Sheffield – United Kingdom||TBD||TBD||August 19-23|
|Brookhaven – Upton, NY||March 4||May 31||September 23-27|
|CSCS – Lugano, Switzerland||March 20||July 7||September 30 – October 4|
|OLCF – Knoxville, TN||February 22||August 16||October 21-25|
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.
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