Aug
21
Fri
Kokkos Online Class Series
Aug 21 @ 12:00 pm – 1:00 pm

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.

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

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: https://github.com/kokkos/kokkos-tutorials/issues/38

Aug
27
Thu
Strategies for Working Remotely Panel Series – How to Make Teams Tick
Aug 27 @ 3:00 pm – 4:15 pm

In response to the COVID-19 pandemic and need for many to transition to unplanned remote work, the IDEAS-ECP Productivity project launched the panel series Strategies for Working Remotely, which explores important topics in this area. Our panel discussion in the series is titled, “How to Make Teams Tick”.

Abstract:  Many teams have been working remotely for several months as a result of the COVID-19 pandemic. In some cases, teams were largely co-located and comfortable that way – they just seemed to tick. Now that teams have become fully virtual and can no longer rely on productivity practices driven by being face-to-face, how have they managed change? What personal challenges have they faced, and how are they bringing back into balance team dynamics and individual well-being? What are they learning about themselves and each other that has been unexpected? In the fifth installment of this IDEAS-ECP panel discussion series, we take a deeper dive and bring together members of successful software teams, Sierra and Portage, to speak candidly about being disrupted by change and bringing their teams back into balance. Panelists will make brief introductory comments followed by open discussion.

Panelists:

  • Todd Coffey, SNL
  • Justin Lamb, SNL
  • Navamita Ray, LANL
  • Salomé Rodriguez-Thorson, SNL
  • Ryan Shaw, SNL
  • Tyler Shelton, SNL
  • Daniel Shevitz, LANL
  • Jan Velechovsk, LANL

Moderators:

  • Angela Herring, LANL
  • Elaine Raybourn, SNL
Aug
28
Fri
Kokkos Online Class Series
Aug 28 @ 12:00 pm – 1:00 pm

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.

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

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: https://github.com/kokkos/kokkos-tutorials/issues/38

Sep
4
Fri
Kokkos Online Class Series
Sep 4 @ 12:00 pm – 1:00 pm

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.

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

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: https://github.com/kokkos/kokkos-tutorials/issues/38

Sep
9
Wed
Testing and Code Review Practices in Research Software Development
Sep 9 @ 1:00 pm – 2:00 pm

The IDEAS Productivity project, in partnership with the DOE Computing Facilities of the ALCF, OLCF, and NERSC and the DOE Exascale Computing Project (ECP) has resumed the webinar series on Best Practices for HPC Software Developers, which we began in 2016.

As part of this series, we offer one-hour webinars on topics in scientific software development and high-performance computing, approximately once a month. The September webinar is titled Testing and Code Review Practices in Research Software Development, and will be presented by Nasir Eisty (California Polytechnic State University). The webinar will take place on Wednesday, September 9, 2020 at 1:00 pm ET.

Abstract:

Software quality in a research context is essential because research software is used in mission-critical situations, decision making, and computation of evidence for research publications. This webinar will cover the use of two software quality practices in the development of research software: software testing and peer code review. These practices in software development can lead to both improved scientific results through higher quality software in the short term and more maintainable software in the long term. While these practices are essential for any type of software, developers of research software typically do not use peer code review and software testing as frequently as they could for maximum impact. The presenter will discuss the motivation, challenges, barriers, and necessary improvements to make the practices effective for research software development, based on studies of the research software community conducted via interviews, surveys, workshops, and tutorials.

Sep
11
Fri
Kokkos Online Class Series
Sep 11 @ 12:00 pm – 1:00 pm

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.

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

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: https://github.com/kokkos/kokkos-tutorials/issues/38

Sep
24
Thu
The Second Extreme-scale Scientific Software Stack Forum (E4S Forum)
Sep 24 @ 8:00 am – 5:00 pm

The Second Extreme-scale Scientific Software Stack Forum (E4S Forum)

The DOE Exascale Computing Project (ECP) Software Technology focus area is developing an HPC software ecosystem that will enable the efficient and performant execution of exascale applications. ECP’s Extreme-scale Scientific Software Stack (E4S) is developing a comprehensive and coherent software stack that will enable application developers to productively write highly parallel applications that can portably target diverse exascale architectures. E4S exists to accelerate the development, deployment, and use of HPC software, lowering the barriers for HPC users. This forum will bring together researchers to engage with the E4S community and build research collaborations with the broader HPC community. The forum presents a unique opportunity to engage with E4S projects and learn more about plans for deployment of this software stack.

More information (including registration) is available at the E4S Forum website.

Oct
2
Fri
Webinar: HDF5 Application Tuning (part 1)
Oct 2 @ 11:00 am – 12:00 pm

HDF5 Application Tuning: There is more than one way to skin a cat(fish)

This webinar shows a simple but practically relevant example of drastic performance differences — a factor of four between the best and worst performers — when using HDF5. The webinar offers a systematic step-by-step analysis and diagnosis of why that is the case. The webinar continues a series dedicated to troubleshooting performance problems in, the effective use of diagnostic tools, and how to make the most of HDF5 and its unique capabilities.

More information about the webinar as well as presentation materials can be found here.

Oct
13
Tue
HDF5 User Group Meeting (HUG 2020)
Oct 13 – Oct 16 all-day

HDF5 User Group meeting (HUG 2020)

The HDF Group and NERSC will host a virtual HDF5 User Group Meeting from October 13th to October 16th, 2020. There will be no charge for this virtual meeting but space is limited.

More information (including registration) is available at https://www.hdfgroup.org/hug/2020-hug.

Oct
14
Wed
Scalable Precision Tuning of Numerical Software
Oct 14 @ 1:00 pm – 2:00 pm

The IDEAS Productivity project, in partnership with the DOE Computing Facilities of the ALCF, OLCF, and NERSC and the DOE Exascale Computing Project (ECP) has resumed the webinar series on Best Practices for HPC Software Developers, which we began in 2016.

As part of this series, we offer one-hour webinars on topics in scientific software development and high-performance computing, approximately once a month. The October webinar is titled Scalable Precision Tuning of Numerical Software, and will be presented by Cindy Rubio González (UC Davis). The webinar will take place on Wednesday, October 14, 2020 at 1:00 pm ET.

Abstract:

The use of numerical software has grown rapidly over the past few years, providing the foundation for a large variety of applications including scientific software and machine learning. Given the variety of numerical errors that can occur, floating-point programs are difficult to write, test and debug. One common practice among developers is to use the highest available precision when allocating variables. While more robust, this can degrade program performance significantly. This webinar will describe research related to the development of tools to assist programmers in tuning the precision of their floating-point programs. These tools conduct a data-driven approach to search over the types of floating-point variables to lower their precision subject to accuracy constraints and performance goals. In the last part of the webinar, the presenter will discuss challenges and opportunities for scalable precision tuning of large HPC applications.