Mar
13
Wed
Parallel I/O with HDF5: Overview, Tuning, and New Features
Mar 13 @ 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 next webinar was titled Parallel I/O with HDF5: Overview, Tuning, and New Features, and was presented by Quincey Koziol (NERSC). The webinar took place on Wednesday, March 13, 2019 at 1:00 pm ET

Abstract:

HDF5 is a data model, file format, and I/O library that has become a de facto standard for HPC applications to achieve scalable I/O and for storing and managing big data from computer modeling, large physics experiments and observations. This webinar gave an introduction to using the HDF5 library, with a focus on parallel I/O and performance tuning options. The webinar also presented an overview of the latest performance and productivity enhancement features being developed as part of the DOE’s Exascale Computing Project (ECP) ExaHDF5 effort, and optimizations used in improving I/O performance of ECP applications.

Mar
26
Tue
Performance Portability with Kokkos Bootcamp March 2019 @ Oakland City Center Conference Center
Mar 26 @ 8:30 am – Mar 29 @ 12:30 pm

Performance Portability with Kokkos Bootcamp – Registration for this event is now closed.  

March 26-29, 2019

We are pleased to announce that we are hosting the next Performance Portability with Kokkos Bootcamp March 26-29, 2019 at the Oakland City Center Conference Center in Oakland, CA. 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.

How do I apply?
Registration for this event is now closed.   

If you have any questions, please contact one of the following organizers:

Apr
10
Wed
Testing Fortran Software with pFUnit
Apr 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 next webinar is titled Testing Fortran Software with pFUnit, and will be presented by Thomas Clune (NASA). The webinar will take place on Wednesday, April 10, 2019 at 1:00 pm ET

Abstract:

Over the past two decades, the emergence of highly effective software testing frameworks has greatly simplified the development and use of unit tests and has led to new software development paradigms such as test driven development (TDD).  However, technical computing introduces a number of unique testing challenges, including distributed parallelism and numerical accuracy.  This webinar will begin with a basic introduction to the use of pFUnit to develop tests for MPI+Fortran software and then present some of the new capabilities in the latest release.  We will also discuss some specialized methodologies for testing numerical algorithms and speculate about future framework capabilities that may improve our ability to test at exascale.

May
8
Wed
So, You Want to be Agile? Strategies for Introducing Agility into Your Scientific Software Project
May 8 @ 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 next webinar is titled So, You Want to be Agile? Strategies for Introducing Agility into Your Scientific Software Project, and will be presented by Michael Heroux (Sandia National Laboratories). The webinar will take place on Wednesday, May 8, 2019 at 1:00 pm ET.

Abstract:

Scientific software team cultures have natural consistencies with agile practices. Discovery-driven development, a focus on regular delivery of results, in-person discussions within and across research teams, and a focus on long-term sustainable research programs are commonplace dynamics on computational science teams that develop software. These dynamics are also particular expressions of core agile principles.

Many scientific software teams have already assimilated industry best practices in some aspects of their work. The advent of open software development platforms such as GitHub and GitLab have accelerated awareness and adoption, as have numerous on-line resources that enable a motivated person to continue learning new ideas and approaches. Even so, we propose that a healthy team habit is continued exploration and improvement of software practices, processes and skills.

In this webinar, we discuss a few agile practices and strategies that are readily adapted and adopted by scientific software teams. In addition, we describe an attitude and strategy for continual process improvement that enables computational science teams to simultaneously deliver science results and, at the same time, dedicate a slice of time to improving software practices on their way to delivering those results.

Jun
7
Fri
Webinar: Introduction to AMD GPU Programming with HIP
Jun 7 @ 1:00 pm – 3:00 pm

AMD Research presented a webinar titled, “Introduction to AMD GPU programming with HIP” on June 7th. HIP is a C++ runtime API that allows developers to write portable code to run on AMD and NVIDIA GPUs. It is an interface that uses the underlying Radeon Open Compute (ROCm) or CUDA platform that is installed on a system. The API is similar to CUDA so porting existing codes from CUDA to HIP should be fairly straightforward in most cases. In addition, HIP provides porting tools which can be used to help port CUDA codes to the HIP layer, with no overhead compared to the original CUDA application. HIP is not intended to be a drop-in replacement for CUDA, and this webinar included guidance on the manual coding and performance tuning work needed to complete the port.

Key features include:

  • HIP is a thin layer and has little or no performance impact over coding directly in CUDA.
  • HIP allows coding in a single-source C++ programming language including features such as templates, C++11 lambdas, classes, namespaces, and more.
  • The “hipify” tools automatically converts source from CUDA to HIP.
  • Developers can specialize for the platform (CUDA or HIP) to tune for performance or handle tricky cases.

Please see “Presentation Materials” below for links to the video, presentation slides, and Q&A from the event.

Jun
12
Wed
Modern C++ for High-Performance Computing
Jun 12 @ 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 next webinar is titled Modern C++ for High-Performance Computing, and will be presented by Andrew Lumsdaine (Pacific Northwest National Laboratory & University of Washington). The webinar will take place on Wednesday, June 12, 2019 at 1:00 pm ET.

Abstract:

Since its creation by Bjarne Stroustrup in the early 1980s, C++ has steadily evolved to become a multi-paradigm programming language that fully supports the needs of modern programmers. Because C++ had its roots in the C programming language, conventional wisdom (and longstanding practice) had been to use C++ in a dichotomous fashion: abstractions for productivity with escape to C for performance. However, C++ today is best viewed holistically — as it is today — rather than as extension of C or even of earlier versions of C++. In this webinar I will give a tour of features from modern C++ relevant to HPC, along with guidelines for their use — and demonstrate that C++ can offer productivity and elegance while sacrificing nothing in performance.

Jun
16
Sun
Advanced MPI Tutorial at ISC High Performance 2019
Jun 16 @ 9:00 am – 6:00 pm

Advanced MPI Tutorial

  • When: Sunday, June 16, 9am – 6pm
  • Where: Applaus, Messe Frankfurt Tor Ost (East Gate) Hall 3, Frankfurt am Main, Germany
  • Presenters: Pavan Balaji (Argonne National Laboratory), Torsten Hoefler (D-INFK ETH Zurich), Antonio Pena (Barcelona Supercomputing Center) and Yanfei Guo (Argonne National Laboratory)

The ECP Project will host an advanced Message-Passing Interface (MPI) Tutorial on June 16. This tutorial will cover a vast of new features that are being introduced in MPI-3. The tutorial is offered as part of the ISC High Performance 2019. The registration is open to everyone through the ISC registration page.

The Message Passing Interface (MPI) has been the de facto standard for parallel programming for nearly two decades now. However, a vast majority of applications only rely on basic MPI-1 features without taking advantage of the rich set of functionalities the rest of the standard provides. Further, with the advent of MPI-3 (released in September 2012), a vast number of new features are being introduced in MPI, including efficient one-sided communication, support for external tools, non-blocking collective operations, and improved support for topology-aware data movement. The upcoming MPI-4 standard aims at introducing further improvements to the standard in a number of aspects. This is an advanced-level tutorial that will provide an overview of various powerful features in MPI, especially with MPI-2 and MPI-3, and will present a brief preview into what is being planned for MPI-4.

Jun
18
Tue
Overview of OpenMP 4.5 and 5.0 Features
Jun 18 @ 12:00 pm – 1:00 pm

Abstract

The webinar consisted of three segments:

  • A review of the fork-join OpenMP programming model, followed by an introductory overview of the tasking model. This segment provided application developers with the necessary tools to go beyond the commonly used parallel loop.
  • A brief introduction to the OpenMP execution model and data environment for accelerators such as GPUs. This segment also discussed the important basic OpenMP 4.5 constructs and concepts.
  • A review of the OpenMP standard, 5.0, and its new constructs. This segment covered several important features in OpenMP 5.0 that can improve usability, offload flexibility, and extend the existing functionality in OpenMP 4.5.

Organizers

  • Haritha Siddabathuni Som (ALCF)
  • Ray Loy (ALCF)
  • Yasaman Ghadar (ALCF)

Webinar material

Jul
17
Wed
When 100 Flops/Watt was a Giant Leap: The Apollo Guidance Computer Hardware, Software and Application in Moon Missions
Jul 17 @ 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 next webinar in the series was titled, When 100 Flops/Watt was a Giant Leap: The Apollo Guidance Computer Hardware, Software and Application in Moon Missions, and was presented by Mark Miller (Lawrence Livermore National Laboratory). The webinar will took place on Wednesday, July 17, 2019 at 1:00 pm ET.

Abstract:

Commemorating the 50th Anniversary of the Apollo Moon landings, this webinar described the revolutionary computer, the Apollo Guidance Computer (AGC). The AGC made autonomous travel to the Moon and back not only possible but added profoundly to crew safety, flight profile accuracy and even optimized propellant use to such an extent that final missions plans traded fuel for added weight in equipment and lunar samples. The webinar gave an overview of the AGC hardware architecture, the guidance software it executed as well as the pioneering efforts in developing both. HPC/CSE code teams will discover many familiar themes such as flops/watt power constraints and performance portability challenges. The webinar concluded with several user stories about the actual operation of the AGC in various Apollo missions.

Aug
14
Wed
Software Management Plans in Research Projects
Aug 14 @ 9:00 am – 10:00 am

The IDEAS Productivity project, in partnership with the DOE Computing Facilities of the ALCF, OLCF, and NERSC and the DOE Exascale Computing Project (ECP) offers a monthly 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 next webinar in the series was titled Software Management Plans in Research Projects, and was presented by Shoaib Sufi (Software Sustainability Institute). The webinar took place on Wednesday, August 14, 2019 at 12:00 pm ET. (One hour earlier than the usual time.)

Abstract:

Software is a necessary by-product of research. Software in this context can range from small shell scripts to complex and layered software ecosystems. Dealing with software as a first class citizen at the time of grant formulation is aided by the development of a Software Management Plan (SMP). An SMP can help to formalize a set of structures and goals that ensure your software is accessible and reusable in the short, medium and long term. SMP’s aim at becoming for software what Data Management Plans (DMP’s) have become for research data (DMP’s are mandatory for National Science Foundation grants). This webinar takes you through the questions you should consider when developing a Software Management Plan, how to manage the implementation of the plan, and some of the current motivation driving discussion in this area of research management.