Applications are invited for NASA GPU Hackathon 2024. The last date of application is June 5.
About the Hackathon
If you have an application relevant to NASA missions and you’re thinking about porting to GPUs, or if your NASA application is already using GPUs and you could use help getting to that next level of performance, consider applying to participate in the NASA GPU Hackathon. Whether your code is a traditional HPC-centric application or if your goal focuses on AI/ML technologies, please apply!
A GPU hackathon is typically a multi-day intensive coding event that puts application teams together with experts in programming and code performance. The goal of the event is to port and optimize codes on GPU technologies in a focused, highly collaborative environment. This year we will be offering several pre-hackathon training opportunities; please see below for further details.
Format
Each code team should consist of three to five developers who have deep knowledge of the code. If your team’s proposal consists of a suite of applications, no more than two applications should be sent to the hackathon. If the subject code(s) is large and/or complex, your team is encouraged to create a mini-app version that encompasses the component of the code to be optimized. For each individual code, at least three people must attend. Teams will be complemented by mentors who will be assigned based on expert knowledge aligned with the motifs of the code.
Selected teams will have access to GPU nodes available on NASA’s Cabeus system (and possibly external systems). Access will also include pre- and post-hackathon periods to facilitate preparation for the event, as well as follow-up testing.
Approximately ten teams will be selected across both HPC and AI/ML technologies from a review process. A review committee will include local NASA organizers, NVIDIA, and experts from other national labs. Multiple criteria will be factored into the selection process:
- Core developers available (minimum of 3)
- Clear goals
- Impact/role of application
- Motifs/workloads amenable to GPUs
- Access to code (such as software usage agreement in place before the event)
- Relative benefit to NASA
Eligibility
Teams with scientific and/or AI/ML applications relevant to NASA missions seeking performance improvements or who are interested in porting to GPU systems in a cooperative, hands-on environment should apply. Teams may use any common method of offloading work to the GPUs, including CUDA, directive-based approaches such as OpenACC or OpenMP, or third-party abstractions such as Kokkos—among others.
How to Register?
We plan to accept about 10 teams for this event. You can apply by filling out the form on the Open Hackathons Event website.
Deadline
Hackathon Applications are due by June 5, 2024.
Training Information
To be prepared to gain full advantage of participation in this year’s hackathon, the following resources are available for your use. Please take the time to review each module in order, as it will be beneficial for your successful learning experience.
- How to prepare for a hackathon: Virtual Open Hackathon Attendee Guide (PDF-139KB)
- How to use a cluster: Cluster Techniques (PDF-1.4MB)
- How to use containers: Singularity and Docker Containers (PDF-2.1MB)
- Introduction to profiling:
- Learn how to optimize AI applications using the NVIDIA Nsight Systems and PyTorch Profiler with TensorBoard.
- Learn how to profile your application with NVIDIA Nsight Systems and NVIDIA Tools Extension SDK (NVTX) API calls to find performance limiters and bottlenecks and apply incremental parallelization strategies.
- We also encourage you to visit the Github for more open resources directly from OpenHackathons.org.
Important dates
Interested teams, please note these important dates:
- June 05, 2024 – Deadline to apply for Hackathon
- September 03, 2024 – Team/Mentor Meeting, Day 0
- September 10, 2024 – NASA GPU Hackathon, Day 1
- September 17–19, 2024 – NASA GPU Hackathon, Days 2-4
Contact
Please direct questions about these resources to: nasa-hackathon@nas.nasa.gov.

