In this contribution, we discuss our experiences organizing the Best Practices for HPC Software Developers (HPC-BP) webinar series, an effort for the dissemination of software development methodologies, tools and experiences to improve developer productivity and software sustainability. HPC-BP is an outreach component of the IDEAS Productivity Project and has been designed to support the IDEAS mission to work with scientific software development teams to enhance their productivity and the sustainability of their codes. The series, which was launched in 2016, has just presented its 22nd webinar. We summarize and distill our experiences with these webinars, including what we consider to be "best practices" in the execution of both individual webinars and a long-running series like HPC-BP. We also discuss future opportunities and challenges in continuing the series.
Significance and Impact
The webinar series provides an important venue to engage the community on software development practices and experiences. As a monthly series, it provides frequent opportunities for new and varied topics to be presented, serving a wide audience of computational scientists and scientific software developers. Through September 2018, the series has averaged 75 participants per webinar, with a maximum of 127. The total number of participants in this time frame is over 1,000.
- The paper describes the webinar series and its goals, and also details the steps taken to provide a consistently high-quality product for participants.
The Best Practices for HPC Software Developers (HPC-BP) webinar series is a major component of the outreach efforts of the IDEAS Productivity Project. Since its inception, the project has been addressing the confluence of trends in hardware and increasing demands for predictive multiscale, multiphysics simulations. The project has also been responding to trends for continuous refactoring with efficient agile software engineering methodologies and improved software design. The webinar series began when the IDEAS Project was particularly focused on working with the terrestrial ecosystem modeling community within the U.S. Department of Energy (DOE), and the series has been adapted as the focus (and sponsorship) of the IDEAS Project shifted to DOE’s Exascale Computing Project (ECP), wherein the focus is on helping teams in both scientific applications and software technologies to be more productive in their software development efforts and to produce more sustainable results. To achieve its goals, IDEAS-ECP (as we refer to this phase of the IDEAS Productivity Project) has implemented an agenda for training and outreach, including HPC-BP. The target audience for the series largely overlaps with the community of users of the computer facilities under DOE’s Office of Science: the Argonne Leadership Class Facility (ALCF), the Oak Ridge Leadership Class Facility (OLCF) , and the National Energy Research Scientific Computing Center (NERSC). However, the webinars can be (and typically are) attended by a much broader community: announcements are done through various email lists, participation is free, and only a simple registration is required for each event. The series may have similarities with other efforts, but it is also distinct in many ways. For example, when the webinar focuses on tools, it is often necessary to address differences in the corresponding installations at the computing facilities. In this contribution, we discuss the process, i.e., the HowTo, that we have adopted for HPC-BP, and we describe some webinars that we have organized and delivered in the series. We provide an overview of the process we follow for the selection of topics, how the webinars are executed, and the future we foresee for the series.