Performance Portability with Kokkos (2018)
Performance Portability with Kokkos (2018)
Oak Ridge National Laboratory (on-site)
July 24-27, 2018
Building 8600, C156
Registration for this event closes on June 29th.
The OLCF will host a Kokkos training event organized by the Exascale Computing Project (ECP) on July 24-27, 2018. This workshop is intended to teach new Kokkos users how to get started and to help existing Kokkos users to further improve their codes. The training will cover the minimum required topics to get your application started on using Kokkos, and Kokkos experts will be on hand to help the more advanced users.
What is Kokkos?
Kokkos is a programming model and library for writing performance portable code in C++. It includes abstractions for on-node parallel execution and data layout. These abstractions are mapped at compile time to fit a device’s architecture for best performance. It uses standard C++ in the same spirit as libraries such at Thrust and Thread Building Blocks.
Who should attend?
Anyone who has a C++ application, or would like to create C++ Kokkos kernels that hook onto an application, and would like to have a single source code run well on multiple platforms. We also encourage developers to bring applications that already use Kokkos since Kokkos experts will be available to help with more advanced use cases. Although we strongly suggest teams of two (or more) per application, please do not hesitate to apply if you are a single developer who wants attend this event.
What happens at the event?
We will have Kokkos experts to help you with your application. This event is a tutorial and a playground to experiment with integrating Kokkos with your application and to help optimize existing Kokkos applications.
What happens after the event?
Attendance to this event will help us create a relationship with your team that we hope to continue as you return home to continue your work. We plan to host regular office hours to tend to your teams questions in the initial stages and to help your team continue to make significant progress.
How should I prepare?
After signing up, we will contact you to discuss your application. If you are new to Kokkos, we can help you prepare a kernel for the event. If you have an existing Kokkos application, we would like to understand your needs before the event. We hope that doing this prep work will maximize your time learning from Kokkos experts.
For out-of-town participants, you can make a reservation to stay at the ORNL Guest House, or there are a number of nice hotels in Oak Ridge, TN:
|Holiday Inn Express & Suites
Bus: For those staying at any of the hotels in Oak Ridge, you can catch the bus to ORNL at the DoubleTree Hotel or the Staybridge Inn and Suites. If you’re not staying at either of these hotels, you are welcome to drive there to catch the bus. Bus will pick up at the hotels at 7:30 – 7:40 AM.
Maps and Directions to ORNL: https://www.ornl.gov/content/maps-and-directions
Map to ORNL Visitor Center: https://www.ornl.gov/sites/default/files/or_area.pdf
Map of Visitor Center and Parking: https://www.ornl.gov/sites/default/files/visitor_map.pdf
Map to Building 8600 (SNS site): Map to SNS site
When you first arrive to the ORNL campus, you will need to pick up your badge from the Visitor Center (please see tab labeled “Hotels & Maps” for an ORNL campus map). After picking up your badge, please proceed to Building 8600, Room C156, where the event will be held.
Kokkos Core Team Members available: Dan Ibanez, Dan Sunderland, Duane Labreche, Nathan Ellingwood, Steve Bova
Additional Kokkos Support: Galen Shipman, Geoff Womeldorff, Graham Lopez
- Kokkos Introductory Tutorial I: parallel_for, parallel_reduce
- Kokkos Introductory Tutorial II: View, ExecutionSpaces, MemorySpaces,
- Kokkos Profiling Tutorial: Kokkos Tools Overview, MiniMD Hands-On, GPU Profiling
- Kokkos Higher Level Data Structure: DualView, ScatterView, UnorderedMap
- Kokkos Intermediate Tutorial I: SubViews, MDRangePolicy, Hierarchical Parallelism
- Kokkos Intermediate Tutorial II: Hierarchical Parallelism and Scratch Spaces
- Kokkos Advanced Tutorial: 3Level Hierarchical Parallelism, Virtual Functions
- Kokkos Kernels: Using BLAS and Sparse functions.
- Applications HandsOn: For attendees who have gone through previous tutorials, Kokkos team members can get started with them on bring-along-apps (porting planning, performance analysis, optimization etc.). Application team members are encouraged to pick and choose which tutorial portions to follow to freshen up their knowledge, or learn something new.