• Information For
    • Computational Molecular Sciences Community
    • Environmental System Science Community
    • Exascale Computing Community
    • Scientific Libraries Community
    • Software Engineering Community
    • Supercomputer Facilities and their Users
  • Contribute to BSSw
  • Receive Our Email Digest
  • Contact BSSw
  • Information For
    Computational Molecular Sciences Community Environmental System Science Community Exascale Computing Community Scientific Libraries Community Software Engineering Community Supercomputer Facilities and their Users
  • Contribute to BSSw
  • Receive Our Email Digest
  • Resources

    Better

    Planning

    • Software Process Improvement
    • Software Engineering
    • Requirements
    • Design
    • Software Interoperability
    • Software Sustainability

    Better

    Development

    • Documentation
    • Configuration and Builds
    • Revision Control
    • Release and Deployment
    • Issue Tracking
    • Programming Languages
    • Development Tools
    • Refactoring

    Better

    Performance

    • High-Performance Computing (HPC)
    • Performance at Leadership Computing Facilities
    • Performance Portability
    • Cloud Computing
    • Big Data

    Better

    Reliability

    • Peer Code Review
    • Testing
    • Continuous Integration Testing
    • Reproducibility
    • Debugging

    Better

    Collaboration

    • Projects and Organizations
    • Strategies for More Effective Teams
    • Inclusivity
    • Funding Sources and Programs
    • Software Publishing and Citation
    • Licensing
    • Discussion and Question Sites
    • Conferences and Workshops
    • Research Software Engineers

    Better

    Skills

    • Online Learning
    • In-Person Learning
    • Personal Productivity and Sustainability

    View All Resources

    • Better Planning
    • Better Development
    • Better Performance
    • Better Reliability
    • Better Collaboration
    • Better Skills
    • View All Resources
  • Blog
  • Events
  • About
    • Site Overview
    • Team
    • Policies and Code of Conduct
    • BSSw Fellowship Program
  • Home
  • Blog
  • Best Practices for HPC Software Developers: The First Five...

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

Share on LinkedIn Share on Facebook Tweet Copied! Permalink

PublishedOct 26, 2021
Authors Osni A. Marques and David E. Bernholdt
TOPICS
Better Collaboration
Projects and Organizations
Better Planning
Software Engineering

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

Highlighted Topics from BSSw Fellowship Q & A Session

Published Sep 25, 2023

By Elsa Gonsiorowski

Long-Term Software Gardening Strategies for Cultivating Scientific Development Ecosystems

Published Aug 17, 2023

By Dave Bunten and Gregory P. Way

Applications Open for the 2024 BSSw Fellowship Program

Published Aug 15, 2023

By Elsa Gonsiorowski

Recap: Encouraging and Enabling Mutual Ownership in a RSE Community of Practice

Published Dec 09, 2022

By Miranda Mundt, Jonathan Bisila, Jon Guyer, Daniel Howard, Daniel S. Katz, Reed Milewicz, Henry Schreiner, Joshua Teves, and Chris Wiswell

2022 BSSw Fellows: Projects and Perspectives

Published Jul 26, 2023

By Elsa Gonsiorowski, Ritu Arora, Rob Latham, Julia Stewart Lowndes, Amiya Maji, Nitin Sukhija, and Karan Vahi

logo Better Scientific Software
  • BSSw Fellowship Program
  • Policies
  • Site Contributors
  • Contact BSSw
  • Receive Our Email Digest
  • Follow Our RSS Feed

Copyright © 2023 Better Scientific Software under MIT License

United States Department of Energy Office of Science National Nuclear Security Administration Exascale Computing Project