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.

If you have any questions, please contact Graham Lopez ( or Tom Papatheodore (

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:

Hotel National Number Local Number
Comfort Inn 800.228.5150 865.481.8200
DoubleTree 800.222.TREE 865.481.2468
Hampton Inn 800.HAMPTON 865.482.7889
Holiday Inn Express & Suites 800.HOLIDAY 865.298.1990
Quality Inn 877.424.6423 865.483.6809
Staybridge Suites 800.225.1237 865.298.0050

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:
Map to ORNL Visitor Center:
Map of Visitor Center  and Parking:
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.



Jul 24 2018 - Jul 27 2018


Building 8600, C156
Building 8600, C156


Thomas Papatheodore
1 (865) 576-1244
QR Code

Comments are closed.