Best Practices for HPC Software Developers: The First Five Years of the Webinar Series

In May 2016, we launched the webinar series Best Practices for HPC Software Developers, which we often abbreviate as HPC-BP. In the five years since then, we’ve produced more than 50 episodes addressing a broad range of topics in the development of scientific software for high-performance computers.

The webinar series is produced by the IDEAS Productivity project in collaboration with the computing facilities of the U.S. Department of Energy Office of Science: the Argonne and Oak Ridge Leadership Computing Facilities and the National Energy Research Scientific Computing Center. Initially, we set an intense schedule, putting on webinars roughly every two weeks. After a short hiatus (to recover), we rebooted the series in 2017 with a monthly cadence.

As with many outreach activities of the IDEAS project, the goal is to promote and enhance the discussion of the development of software, including sharing experiences and advice. Such activities serve as a counterpoint to the widespread emphasis in our community on new scientific results in computational science and engineering and the new methods and algorithms that help deliver them. We try to bring a variety of topics and viewpoints to the discussion. We have offered webinars on programming models and performance portability; aspects of software design, documentation and testing; management of multi-institutional and open source software development; experiences improving software processes; and a range of other topics. Occasionally, we even relax a bit; for example, we celebrated the 50th anniversary of the Apollo moon landings with a look at the guidance computers that helped get them there, and we will join in the upcoming celebration of a colleague who is retiring after more than 55 years in computing.

The evidence suggests that the series serves a need. We’ve had a total of nearly 8400 registrations and 4250 attendees at the 50 webinars in the series since 2017 (we didn’t track the 2016 events the same way, so we don’t have good data for those). On average, that’s about 167 registrations and 86 attendees per event. That is, roughly 50% of registrants actually attend the event. This fraction is remarkably consistent across the HPC-BP series and we’ve noticed it in other settings too. One advantage of registering for HPC-BP events is that registrants receive an email notification when the archives of the webinar are available, usually 1-2 weeks afterwards. In addition to the slides and Q&A, recordings of the webinars are published on the IDEAS YouTube channel, where they have been viewed more than 8,700 times.

Behind the scenes is a small but dedicated team. Working months ahead, we identify potential topics and speakers, recruit them, and set dates. Our tradition is to hold the webinars on a Wednesday at 1:00pm Eastern Time (and occasionally, we have to adjust the time slightly because of the speaker’s availability.) Once we finalize the title, abstract, and a brief bio sketch for each presenter, we start disseminating the information and inviting registrations, using at least four different web sites and several mailing lists. In the meantime, we continue to work with the presenters to prepare them for the logistics of the actual webinar and to ensure that their presentation targets the audience appropriately. Afterward, we collect and publish the artifacts — the slides, Q&A document, and recording — and notify the registrants of their availability. We’ve done this process so many times that it has become fairly well defined. We documented it, briefly, a few years ago. Though now, it is captured in a couple of (fairly extensive) checklists in the GitHub repositories we use to manage our processes.

One of the challenges in putting on a long-running webinar series like this is, frankly, knowing what topics to feature. Although we regularly attract good audiences, we rarely get much feedback from participants — emails with comments or suggestions or responses to the surveys we request participants complete after every webinar. We tap into our networks and try to solicit feedback, but that’s only a portion of our audience. To be responsive to our broader audience, we’d love to get more input on what you would like to hear about in future webinars, or particular speakers you think we should invite. We encourage you to respond to our (short) survey and/or email us at IDEASProductivity@gmail.com. To receive announcements of upcoming HPC-BP webinars, as well as other events organized by the IDEAS Productivity project, subscribe to our mailing list (2-3 messages per month).

With your help, we’re looking forward to five (or more) years of offering the webinar series on Best Practices for HPC Software Developers!

Author bios

Osni A. Marques is a staff scientist at the Applied Mathematics & Computational Research Division at Lawrence Berkeley National Laboratory. He has worked with software libraries that provide solutions to common and important computational problems in engineering and scientific applications. He has studied and implemented algorithms for the solution of numerical linear algebra problems in applications related to the motion of proteins, acoustics problems, structural analyses, inverse problems in geophysics, and electronic properties of materials. Osni is currently involved in the IDEAS Productivity project and training activities of the DOE Exascale Computing Project.

David E. Bernholdt is the Outreach Lead for the IDEAS-ECP project and one of the founders of the HPC-BP webinar series. He is a Distinguished R&D Staff Member at Oak Ridge National Laboratory. He has leadership roles in multiple projects in the DOE Exascale Computing Project and the Scientific Discovery through Advanced Computing program. He also leads the Programming Environment and Tools area of the Oak Ridge Leadership Computing Facility. His research interests center on making it easier and more productive to create and use computational science and engineering software on the largest high-performance computer systems.

Comment

More on Projects and Organizations and Software Engineering