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 (csdaley@lbl.gov) or Helen He (yhe@lbl.gov).
Submit Your Team Application
Team Application Submission Form is here.
Registration
Please register here.
Location
The Hackathon will be held in Building 59, Room 3101 (CRT Building, aka Wang Hall), NERSC/LBNL (visitor info), Berkeley, CA.
Agenda
Date | Time(PDT) | Topic | Presenter |
---|---|---|---|
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 |
Downloads
-
UsingLoopSchedOMP.pptx | PowerPoint fileLunch Talk #1: Brief introduction to OpenMP, loop scheduling, and tasking. Vivek Kale, BNL
-
nersc-wagenbreth-perftools-20190827.pptx | PowerPoint fileLunch Talk #2: Perftools and using Cray Reveal to add OpenMP. Gene Wagenbreth, Cray
-
ParallelwareTrainer-20190827.pdf | Adobe Acrobat PDF fileLunch Talk #3: Using Parallelware Training to add OpenMP. Woo-Sun Yang, NERSC
-
OpenMPTrainingShortAdvanced.pdf | Adobe Acrobat PDF fileLunch Talk #4: OpenMP SIMD + target offload. Doug Jacobsen, Intel
-
HPCToolkit-OpenMP-2019.pdf | Adobe Acrobat PDF fileLunch Talk #5: HPCToolkit + OpenMP. Keren Zhou, Rice University
-
Hammond-NERSC-OpenMP-August-2019-1.pdf | Adobe Acrobat PDF fileLunch talk #6: Evolving NWChem for KNL and GPUs using OpenMP. Jeff Hammond, Intel