<commit_before># Best Practices for HPC Software Developers: The First Five Years of the Webinar Series

#### Contributed by [<NAME>](https://github.com/oamarques) and [<NAME>](https://github.com/bernhold)
#### Publication date: October ??, 2021

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 (ALCF and OLCF) and the National Energy Research Scientific Computing Center (NERSC).  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 and celebrate the 50th anniversary of the Apollo moon landings with a look at the [guidance computers](https://ideas-productivity.org/events/hpc-best-practices-webinars/#webinar031) that helped get them there, and the [upcoming celebration of a colleague](https://www.exascaleproject.org/event/55plus-years-in-hpc/) who is retiring after more than 50 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 49 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.  You may notice, as we have, that 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 you’ll 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](https://www.youtube.com/ideasproductivity), where they have been viewed more than 8,700 times in total.

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 Wednesdays at 1:00pm Eastern Time -- but which Wednesday? (And occasionally, we have to adjust the time slightly due to the speaker’s availability.)  Once we finalize the title, abstract, and a brief bio sketch for the presenters, 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 their presentation targets the audience appropriately.  Afterwards, we collect and publish the artifacts -- the slides, Q&A document, and recording -- and notify the registrants of their availability.  We’ve done it so many times that process has become pretty well defined.  We documented it, [briefly](https://bssw.io/items/producing-a-webinar-series), 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 -- responses to the surveys we request participants complete after every webinar, or emails with comments or suggestions.  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](https://docs.google.com/forms/d/1-sq1no4-W9bQVe00joJI4jUpdYs_7HHRFdAGbq8UiHE/edit) and/or email us at <EMAIL>. 

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

<NAME> is a staff scientist at the Applied Mathematics & Computational Research Division, Lawrence Berkeley National Laboratory. Osni has worked with software libraries that provide solutions to common and important computational problems in engineering and scientific applications. Osni has studied and implemented algorithms for the solution of problems in numerical linear algebra, in applications related to the motion of proteins, acoustics problems and 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.

<NAME> 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 and Group Leader at Oak Ridge National Laboratory (ORNL). He has leadership roles in multiple projects in the DOE Exascale Computing Project (ECP) and the Scientific Discovery through Advanced Computing (SciDAC) program. He also leads the Programming Environment and Tools area of the Oak Ridge Leadership Computing Facility (OLCF). 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.

<!---
Publish: yes
Pinned: no
Topics: Projects and organizations, Software engineering
RSS update: 2021-10-15
---><commit_msg>Change webinar link to point to i-p.o<commit_after># Best Practices for HPC Software Developers: The First Five Years of the Webinar Series

#### Contributed by [<NAME>](https://github.com/oamarques) and [<NAME>](https://github.com/bernhold)
#### Publication date: October ??, 2021

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 (ALCF and OLCF) and the National Energy Research Scientific Computing Center (NERSC).  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 and celebrate the 50th anniversary of the Apollo moon landings with a look at the [guidance computers](https://ideas-productivity.org/events/hpc-best-practices-webinars/#webinar031) that helped get them there, and the [upcoming celebration of a colleague](https://ideas-productivity.org/events/hpc-best-practices-webinars/#webinar058) who is retiring after more than 50 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 49 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.  You may notice, as we have, that 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 you’ll 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](https://www.youtube.com/ideasproductivity), where they have been viewed more than 8,700 times in total.

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 Wednesdays at 1:00pm Eastern Time -- but which Wednesday? (And occasionally, we have to adjust the time slightly due to the speaker’s availability.)  Once we finalize the title, abstract, and a brief bio sketch for the presenters, 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 their presentation targets the audience appropriately.  Afterwards, we collect and publish the artifacts -- the slides, Q&A document, and recording -- and notify the registrants of their availability.  We’ve done it so many times that process has become pretty well defined.  We documented it, [briefly](https://bssw.io/items/producing-a-webinar-series), 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 -- responses to the surveys we request participants complete after every webinar, or emails with comments or suggestions.  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](https://docs.google.com/forms/d/1-sq1no4-W9bQVe00joJI4jUpdYs_7HHRFdAGbq8UiHE/edit) and/or email us at <EMAIL>. 

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

<NAME> is a staff scientist at the Applied Mathematics & Computational Research Division, Lawrence Berkeley National Laboratory. Osni has worked with software libraries that provide solutions to common and important computational problems in engineering and scientific applications. Osni has studied and implemented algorithms for the solution of problems in numerical linear algebra, in applications related to the motion of proteins, acoustics problems and 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.

<NAME> 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 and Group Leader at Oak Ridge National Laboratory (ORNL). He has leadership roles in multiple projects in the DOE Exascale Computing Project (ECP) and the Scientific Discovery through Advanced Computing (SciDAC) program. He also leads the Programming Environment and Tools area of the Oak Ridge Leadership Computing Facility (OLCF). 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.

<!---
Publish: yes
Pinned: no
Topics: Projects and organizations, Software engineering
RSS update: 2021-10-15
--->
{'fraction_non_alphanumeric': 0.04414730708896691, 'fraction_numerical': 0.011130200941211624, 'mean_word_length': 4.905602117335686, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 14, 'lorem ipsum': 0, 'www.': 3, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2263228', 'n_tokens_mistral': 3286, 'n_tokens_neox': 3032, 'n_words': 1934}