kokkos/kokkos-tutorials

Kokkos Lecture Series July-September

crtrott opened this issue ยท 14 comments

1st Kokkos Lecture Series July-September

The Kokkos team will provide its first Kokkos Lecture Series, where attendees learn everything necessary to start using Kokkos to write performance portable code. This Kokkos Lecture Series will consist of a 2-hour online lecture every Friday and exercises as homework. The team will provide support via GitHub and Slack throughout the time of the training.

Wiki Page with Recordings and Q&A: Lecture Series

Office Hours Tuesday 3-5PM ET: see below

Signup

Registration with email address, name and institution is necessary here:
https://www.exascaleproject.org/event/kokkos-class-series/

The event is free.

What is Kokkos?

Kokkos is a C++ Programming Model for Performance Portability developed by a team spanning some of the major HPC facilities in the world. It allows developers to implement their applications in a single source fashion, with hardware vendor agnostic programming patterns. Implemented as a C++ template meta programming library, Kokkos can be used with the primary tool chains on any HPC platforms. The model is used by many HPC applications both within and outside the US, and is the primary programming model for the efforts of the Sandia National Laboratory to make their engineering and science codes ready for exascale. At this point more than 100 projects are using Kokkos to obtain performance portability.

The tutorial will teach attendees the basics of Kokkos programming through a step-by-step sequence of lectures and hands-on exercises. Fundamental concerns of performance portable programming will be explained. At the end of the training, attendees will have learned how to dispatch parallel work with Kokkos, do parallel reductions, manage data, identify and manage data layout issues and expose hierarchical parallelism. Attendees will also learn about advanced topics such as using SIMD vector types, tasking and integrate Kokkos with MPI. Furthermore the Kokkos Lecture Series will cover the use of Kokkos Tools to profile and tune applications, as well as leveraging the KokkosKernels math library to access performance portable linear algebra operations. The material used during the training will be available online, including the exercises and their solutions. Support hours will be offered to answer questions and help with exercises - including access to Cloud Instances with GPUs to do the exercises (we may need to limit attendee numbers for those depending on demand).

Contents of the Tutorial

This is a preliminary outline of the training. We are keeping a 9th day in reserve for anticipated schedule slippage. The lectures will be held Fridays: 10:00-12:00 MT (12:00-14:00 ET; 9:00-11:00 PT).

  • Module 1: Introduction 07/17/2020
    • Introduction
    • How to build
    • Data parallel execution patterns
  • Module 2: Views and Spaces 07/24/2020
    • Views
    • Memory Space and Execution Spaces
    • Memory access patterns (layouts)
  • Module 3: Data Structures and MDRange 07/31/2020
    • Subview
    • MDRange
    • Dual View
    • Atomics
    • Scatter View
  • Module 4: Hierarchical Parallelism 08/07/2020
    • Hierarchical parallelism
    • Scratch Space
    • UniqueToken
  • Module 5: Streams, Tasking and SIMD 08/14/2020
    • Stream Integration
    • Tasking
    • SIMD
  • Module 6: MPI and PGAS 08/21/2020
    • MPI
    • PGAS
  • Module 7: Tools 08/28/2020
    • Profiling
    • Tuning
    • Static Analysis
  • Module 8: Kokkos Kernels 09/04/2020
    • BLAS
    • Sparse BLAS
  • Backup Day: 09/11/2020

How to Attend

  • The lecture series is available to everyone
  • No-cost registration is necessary, meeting password will be send to registrants.
  • For the exercises access to an NVIDIA GPU system or AMD GPU system with up-to-date software stack is recommended.

For updates and questions visit: #38

Will these lectures be recorded and made available later?

Updates

  • Placehoder *

@amklinv-nnl wrote:

Will these lectures be recorded and made available later?

^^^ this would be super helpful : - )

Yes they will be recorded. We hope (review requirements permitting) to post the recordings early the week after, so people can watch them if they missed them.

I haven't received the meeting password. When will I receive the password? Thanks.

@YigongQin I believe the meeting password was part of the registration confirmation email.

Its also in the calendar invite, which you should have gotten a link too in that registration email. But I can post it here later again, for a bit. Let me know if you find it.

Hi! would it be possible to add the @canada.ca domain (Canada public service) in the allowlist for the Slack workspace ?
Thanks!

@phil-blain Done and welcome!

Topic: Kokkos Online Lecture Series -- Office Hours
Time: Aug 4, 2020 03:00 PM Eastern Time (US and Canada)

Join ZoomGov Meeting
https://exascaleproject.zoomgov.com/j/16011504582?pwd=cXFUU0ZhUjVNUzdGNllLaXU5Z2tJQT09

Meeting ID: 160 1150 4582
Password: 422093
One tap mobile
+16692545252,,16011504582#,,#,422093# US (San Jose)
+16468287666,,16011504582#,,#,422093# US (New York)

Dial by your location
+1 669 254 5252 US (San Jose)
+1 646 828 7666 US (New York)
Meeting ID: 160 1150 4582
Password: 422093
Find your local number: https://exascaleproject.zoomgov.com/u/aczUNT9OB

Join by Skype for Business
https://exascaleproject.zoomgov.com/skype/16011504582

One more hint for people with login issues: turning VPN off helps for some folks.

Topic: Kokkos Online Lecture Series -- Office Hours
Time: Aug 11, 2020 03:00 PM Eastern Time (US and Canada)

Join ZoomGov Meeting
exascaleproject.zoomgov.com/j/16011504582?pwd=cXFUU0ZhUjVNUzdGNllLaXU5Z2tJQT09

Meeting ID: 160 1150 4582
Password: 422093
One tap mobile
+16692545252,,16011504582#,,#,422093# US (San Jose)
+16468287666,,16011504582#,,#,422093# US (New York)

Dial by your location
+1 669 254 5252 US (San Jose)
+1 646 828 7666 US (New York)
Meeting ID: 160 1150 4582
Password: 422093
Find your local number: exascaleproject.zoomgov.com/u/aczUNT9OB

Join by Skype for Business
exascaleproject.zoomgov.com/skype/16011504582