Feb
10
Wed
Good Practices for Research Software Documentation
Feb 10 @ 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 February webinar is titled Good Practices for Research Software Documentation, and will be presented by Stephan Druskat (Friedrich Schiller University Jena) and Sorrel Harriet (Leeds Trinity University). The webinar will take place on Wednesday, February 10, 2021 at 1:00 pm ET.

Abstract:

This webinar aims to introduce the importance of software documentation and the different approaches that may be taken at various stages, and on various levels, in the software development life cycle. Through the sharing of examples and stimulative questions, the speakers aim to encourage the audience to reflect on the relationship between documentation and process, and to make informed choices about when and how to document their software.

Mar
10
Wed
An Overview of the RAJA Portability Suite
Mar 10 @ 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 March webinar is titled An Overview of the RAJA Portability Suite, and will be presented by Arturo Vargas (Lawrence Livermore National Laboratory). The webinar will take place on Wednesday, March 10, 2021 at 1:00 pm ET.

Abstract:

The RAJA Portability Suite is a collection of open-source software libraries that enable developers to write single-source applications that are portable across a wide range of HPC architectures. The Suite contains tools for portable loop execution (RAJA) and memory management (Umpire and CHAI). The development of the Suite is motivated by the needs of production multiphysics codes, which must run efficiently on laptops, commodity clusters, and massively parallel advanced technology systems at any point in time as well as across multiple platform generations. The scale and complexity of these applications require that they be able to employ system-appropriate native programming models, such as OpenMP, CUDA, and HIP, without significant source code modification. The abstractions that the RAJA Portability Suite provides enable such portable single-source application development. The Suite is used in a diverse range of production codes at Lawrence Livermore National Laboratory (LLNL). It is also funded as a Software Technology Project in DOE’s Exascale Computing Project, where the Suite supports a number of key applications. The webinar will provide an overview of the Suite and its capabilities and discuss status and plans to support applications on exascale platforms. The webinar will present code examples that illustrate basic usage and compare to programming with native programming models, and performance results for several applications that rely on the Suite for platform portability.

Mar
25
Thu
Strategies for Working Remotely Panel Series – How does remote work impact creativity and innovation?
Mar 25 @ 3:00 pm – 4:15 pm

In response to the COVID-19 pandemic and transition to remote work, ECP and the IDEAS Productivity project launched the panel series Strategies for Working Remotely, which explores important topics in this area.

Abstract:

  • Many of us have been working remotely well over 13 months now due to the COVID-19 pandemic. We’ve hosted 7 panel discussions since April 2020 that allowed us to share resiliency strategies for working remotely as most of us transitioned from co-located to fully virtual work. That said, 13 months and 7 panel discussions later, how much do we know about how working remotely and a phased return to “the office” will impact our creativity? Do we do our best work when isolated? What is it about serendipitous face-to-face interactions that we find difficult to replicate online? In our eighth installment of the panel discussion series, we explore the topics of creativity and innovation with software development teams who are applying agile techniques, thinking differently about co-located collaboration, and questioning the unintended effects of working remotely. Panelists mae brief introductory comments followed by open discussion. Questions were collected from the audience in advance to [email protected].

Panelists:

  • Addi Thakur Malviya, Oak Ridge National Laboratory
  • Pat Quillen, Mathworks
  • Elaine Raybourn, Sandia National Laboratories
  • Damian Rouson, Sourcery Institute
  • Francesca Samsel, TACC (Texas Advanced Computing Center), University of Texas at Austin

Moderator:

  • Ashley Barker, Oak Ridge National Laboratory
Mar
31
Wed
2021 ECP Community BOF Days
Mar 31 – Apr 1 all-day

The Exascale Computing Project (ECP) Community Birds-of-a-Feather (BOF) Days provide an opportunity for the HPC community to engage with ECP teams to discuss our latest development efforts.  Each BOF will be a 90-minute session on a given topic, with a brief overview followed by Q&A.  Please see more information about the BOFs below and register for as many as you would like to attend.  The BOFs will be conducted via Zoom, and the Zoom link will be sent to you upon successful registration.  Please note all times are shown in the EASTERN STANDARD TIME ZONE.

Apr
7
Wed
A Workflow for Increasing the Quality of Scientific Software
Apr 7 @ 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 April webinar is titled A Workflow for Increasing the Quality of Scientific Software, and will be presented by Tomislav Maric (TU Darmstadt). The webinar will take place on Wednesday, April 7, 2021 at 1:00 pm ET.

Abstract:

The webinar will present a workflow that increases the quality of research software in Computational Science and Engineering (CSE) by applying established software engineering practices extended with CSE-specific testing and visualization, and periodical cross-linking of software with reports/publications and datasets. The workflow is minimalistic. It introduces a small amount of work overhead, which is crucial for research groups without dedicated funding for ensuring the quality of research software and reproducibility of scientific results.

Apr
12
Mon
Automating Application Performance Analysis with Caliper, SPOT, and Hatchet
Apr 12 all-day

This tutorial was held on April 12, 2021 as part of the 2021 ECP Annual Meeting.

At LLNL, we have developed a workflow enabling users to automate application performance analysis and pinpoint bottlenecks in their codes. Our workflow leverages three open-source tools – Caliper, SPOT, and Hatchet – to provide a wholistic suite for integrated performance data.

In this tutorial, the presenters provided an overview of each of the tools, and demonstrated how to profile your applications with Caliper, how to visualize your performance data in SPOT, and how to programmatically analyze your data with Hatchet. Caliper is a performance analysis toolbox in a library. It provides performance profiling capabilities for HPC applications, making them available at runtime for any application run. This approach greatly simplifies performance profiling tasks for application end users, who can enable performance measurements for regular program runs without the complex setup steps often required by specialized performance debugging tools.

SPOT is a web-based tool for visualizing application performance data collected with Caliper. SPOT visualizes an application’s performance data across many runs. Users can track performance changes over time, compare the performance achieved by different users, or run scaling studies across MPI ranks. With a high-level overview of an application’s performance, users are also quickly able to identify data that they might be interested in analyzing in finer-grained detail. Hatchet is a Python-based tool for analyzing and visualizing performance data generated by popular profiling tools, such as Caliper, HPCToolkit, and gprof.

With Hatchet, users can write small code snippets to answer questions such as: What speedup am I getting from using the GPUs? Which portions of my code are scaling poorly? What differences exist in using one MPI implementation over another?

To answer these questions, Hatchet provides operations (e.g., sub-selection, aggregation, arithmetic) to analyze and visualize calling context trees and call graphs from one or multiple executions.

LLNL-ABS-818869

Cabana Tutorial
Apr 12 all-day

This tutorial was held on April 12, 2021, as part of the 2021 ECP Annual Meeting.

This tutorial explained the design and use of the CoPA developed Cabana Particle Simulation Toolkit and provided hands-on exercises in the form of simple examples and proxy applications. A full description of the library, connections to other ECP projects, and existing use cases began the session. Cabana uses Kokkos for on-node performance portability, extending to particle-specific sub-motifs, and MPI for multi-node simulations. Cabana provides capabilities for nearly all particle-based applications: neighbor list generation, particle redistribution, halo exchange, particle-grid interpolation, and more. A hands-on, interactive walk-through of the tutorial available within the Cabana repository introduced users to the library. Descriptions and code demonstrations of current use cases, including both proxy apps and production code kernels, exemplified what can be done with Cabana. Key design decisions for performance was an emphasis of this last section.

Developing a Testing and Continuous Integration Strategy for your Team
Apr 12 all-day

This tutorial was held on April 12, 2021 as part of the 2021 ECP Annual Meeting.

A thorough and robust testing regime is central to the productive development, evolution, and maintenance of quality, trustworthy scientific software. Continuous integration, though much discussed, is just one element of such a testing regime. Most project teams feel that they could (and should) do a “better job” of testing. In many cases, designing and implementing a strong testing strategy can seem so daunting that it is hard to know where to start.

In this tutorial, which was aimed at those with beginner to intermediate levels of comfort with testing and continuous integration, we briefly reviewed the multiple motivations for testing, and the different types of tests that address them. We discussed some strategies for testing complex software systems, and how continuous integration testing fits into the larger picture. Accompanying hands-on activities, available for self-study, we demonstrated how to get started with a very simple level of CI testing.

Apr
13
Tue
ADIOS Storage and in situ I:O Tutorial
Apr 13 all-day

This tutorial was held on April 13, 2021, as part of the 2021 ECP Annual Meeting.

As concurrency and complexity continue to increase on high-end machines, I/O performance is rapidly becoming a fundamental challenge to achieving exascale computing. To address this challenge, wider adoption of higher-level I/O abstractions will be critically important. The ADIOS I/O framework provides data models, portable APIs, storage abstractions, in situ infrastructure, and self-describing data containers. These capabilities enable reproducible science, allow for more effective data management throughout the data life cycle, and facilitate parallel I/O with high performance and scalability.

In this tutorial, participants learned about the ADIOS concept and APIs and we showed a pipeline of a simulation, analysis and visualization, using both storage I/O and in situ data staging. Participants also learned how to use state-of-the art compression techniques with ADIOS. Finally, we discussed how to use ADIOS on the LCFs for the best storage performance, in situ data analysis and code coupling. This is a short, 2-hour long tutorial that aimed to teach the basic concepts, demonstrated the capabilities and provided pointers to interested parties to incorporate ADIOS into their science applications.

Apr
14
Wed
Introduction to Containers for HPC
Apr 14 all-day

This tutorial was held on April 14, 2021 as part of the 2021 ECP Annual Meeting.

Container computing has revolutionized the way applications are developed and delivered. It offers opportunities that never existed before for significantly improving efficiency of scientific workflows and easily moving these workflows from the laptop to the supercomputer. Tools like Docker, Shifter, Singularity and Charliecloud enable a new paradigm for scientific and technical computing. However, to fully unlock its potential, users need to understand how to utilize these new approaches.

This tutorial introduced attendees to the basics of creating container images, explained best practices, and covered more advanced topics such as creating images to be run on HPC platforms using various container runtimes. The tutorial also explained how research scientists can utilize container-based computing to accelerate their research and how these tools can boost the impact of their research by enabling better reproducibility and sharing of their scientific process without compromising security. This is an updated version of the highly successful tutorial presented at 5 SC Conferences and multiple ECP Summits.