NERSCPowering Scientific Discovery Since 1974

ECP/NERSC OpenMP Hackathon, August 2019

The National Energy Research Scientific Computing Center (NERSC), in collaboration with the ECP SOLLVE and Training Projects, are organizing a 3.5-day OpenMP Hackathon at NERSC the week of August 27-30, 2019. We encourage the participation of teams who want to port and optimize their applications for energy-efficient processor architectures. We are especially interested in application teams that are part of ECP or who want to improve the use of OpenMP tasks in their code.

Hackathon Goal

The goal of this 3.5-day hackathon is to port, optimize and evolve applications for energy-efficient processor architectures. The focus of the event will be on optimizing codes for the Intel Xeon-Phi (KNL) partition of Cori. In addition, NERSC will also welcome application teams who are interested in using the OpenMP offload model (no matter what current programming models you are using) to target CPU and GPU architectures. We expect that teams will use the Intel compiler on the Cori KNL partition and the Clang and Cray compilers on the Cori GPU test-bed.

Why Participate

This OpenMP hackathon will help teams make better use of their compute allocations on Cori supercomputer. It will also provide a pathway to using the CPU nodes and CPU+GPU nodes of Perlmutter.

About the Event

The 3.5-day hackathon will be held at 59-3101 at NERSC. The final day, Friday, will be a half day. If interest from users is high we will move the event to a larger off-site location either in Berkeley or Oakland. To support the hackathon goal, we will have a number of mentors on-site during the event. Our mentors have experience in using OpenMP, actively participate in the OpenMP language committee, and/or conduct research and development in compilers and tools with OpenMP support. There will be a small number of presentations given during the event, but most of the time will be spent with your team and mentor working on your application. Hackathon teams will be using the Cori supercomputer and in particular the Xeon-Phi partition and the small test-bed GPU partition.

Target Audience

We are looking for teams, each consisting of 3-5 developers, that wish to work on the optimization and porting of an application to the Cori supercomputer. Small-to-medium sized applications, mini-apps or specific test cases are especially encouraged. Hence, participating teams should devote significant efforts to isolate the compute/data intensive parts of the code to be optimized. In particular, the development of suitable test-harness and verification machinery to validate that no errors are being introduced during this work-intensive event. Collectively the team should know the application intimately. If an application is a suite of apps, no more than two per team is allowed and a minimum of 2 people per app must attend.

How Can I Attend?

In order to participate in the hackathon, please submit a Team Proposal Form (see below). You will have to provide a team name, a brief summary of the application, your intended goals, software/package dependencies and the list of team participants (full name, affiliation, and email). In addition, select in the application form whether the application is sensitive in any way (e.g., only for DOE use, not accessible to foreign nationals, is it NDA protected, etc). If in doubt, please contact us.

Participation in the training event is free of charge. The meeting room and lunches, as well as access to the supercomputers throughout the event, are offered by NERSC, ECP, and our event sponsors. The deadline to submit a proposal is Friday, June 28. Notification of acceptance will be sent out by July 5, 2019. If you plan to submit a team application, but could not meet the deadline, please do not hesitate to contact us.

Key Dates

Friday, June 28, 2019 Deadline to submit a team application
Friday, July 5, 2019 Notification of accepted teams
Friday, July 5, 2019 Registration opens for accepted teams
Friday, July 12, 2019 Registration closes
Tuesday, August 27, 2019 Hackathon starts
Friday, August 30, 2019 Hackathon ends

Who Can I Contact With Questions?

If you have any questions, please contact Christopher Daley ( or Helen He (

Submit Your Team Application

Team Application Submission Form is here.


Please register here.


The Hackathon will be held in Building 59, Room 3101 (CRT Building, aka Wang Hall), NERSC/LBNL (visitor info), Berkeley, CA.


 Day 1, Aug 27 8:30 - 9:00 am Breakfast  
  9:00 - 9:15 am Hackathon Introduction Rebecca Hartman-Baker, Helen He, and Chris Daley
  9:15 - 9:45 am Opening Day Scrum Session All Teams
  9:45 - 12:00 pm Morning Hackathon  
  12:00 - 12:15 pm Getting Lunch  
  12:15 - 12:45 pm  Lunch Talk #1: Brief introduction to OpenMP, loop scheduling, and tasking Vivek Kale, BNL
  12:45 - 1:15 pm Lunch Talk #2: Perftools and using Cray Reveal to add OpenMP Gene Wagenbreth, Cray
  1:15 - 1:25 pm Lunch Talk #3: Using Parallelware Training to add OpenMP Woo-Sun Yang, NERSC
  1:25 - 5:00 pm   Afternoon Hackathon  
 Day 2, Aug 28
8:30 - 9:00 am Breakfast  
9:00 -12:00 pm Morning Hackathon  
12:00 - 12:15 pm Getting Lunch  
12:15 - 12:45 pm Lunch Talk #4: OpenMP SIMD + target offload Doug Jacobsen, Intel
  12:45 - 1:15 pm Lunch Talk #5: HPCToolkit + OpenMP Keren Zhou, Rice University
  1:15 - 4:30 pm Afternoon Hackathon
4:30 - 5:00 pm Mid Hackathon Scrum Session All teams
 Day 3, Aug 29
8:30 - 9:00 am Breakfast  
9:00 - 12:00 pm Morning Hackathon  
  12:00 - 12:30 pm Group Photo and Getting Lunch  
12:30 - 1:00 pm Lunch talk #6: Evolving NWChem for KNL and GPUs using OpenMP Jeff Hammond, Intel
1:00 - 5:00 pm Afternoon Hackathon  
 Day 4, Aug 30
8:30 - 9:00 am Breakfast  
9:00 - 11:30 am Morning Hackathon  
  11:30 - 12:00 pm Closing Day Scrum Session and Discussion All Teams