Mar
21
Wed
Scientific Software Development with Eclipse
Mar 21 @ 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. Participation is free and open to the public, but registration is required for each event. The next webinar in the series was titled “Scientific Software Development with Eclipse”, and was presented by Gregory Watson of ORNL.  The webinar took place on Wednesday, March 21, 2018 at 1:00 pm ET.

Abstract:  

The Eclipse IDE is one of the most popular IDEs available, and its support for multiple languages, particularly C, C++ and Fortran has made it the go to IDE for scientific software development. Although an IDE like Eclipse can provide advanced development capabilities such as code recommendation and refactoring, these features can be difficult to utilize for complex code bases. Other challenges, such as ease of installation and use, reliability, and compatibility with existing  development practices also play a role. Ultimately the usefulness of the  tool is a tradeoff between the capabilities it provides and the  challenges of incorporating it into the development workflow. This  webinar will demonstrate some of the latest features available in Eclipse that are particularly useful for scientific application development, and examine how they can be used in a variety of different scenarios using realistic sample codes.

Apr
18
Wed
Software Citation Today and Tomorrow
Apr 18 @ 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. Participation is free and open to the public, but registration is required for each event. The next webinar in the series was titled “Software Citation Today and Tomorrow”, and was presented by Dan Katz.  The webinar took place on Wednesday, April 18, 2018 at 1:00 pm ET.

Abstract:

Software is increasingly important in research, and some of the scholarly communications community, for example, in FORCE11, has  been pushing the concept of software citations as a method to allow software developers and maintainers to get academic credit for their work: software releases are published and assigned DOIs, and software users then cite these releases when they publish research that uses the  software. This webinar discussed the state of software citation, starting with history of work done by the FORCE11 Software Citation Working Group, leading to a published set of software citation principles (https://doi.org/10.7717/peerj-cs.86), as well as other prior work. It will also talk about where the community is going, what the obstacles to progress are, and how they may be overcome.

May
9
Wed
On-demand Learning for Better Scientific Software: How to Use Resources & Technology to Optimize your Productivity
May 9 @ 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. Participation is free and open to the public, but registration is required for each event. The next webinar in the series was titled “On-demand Learning for Better Scientific Software: How to Use Resources & Technology to Optimize your Productivity”, and was presented by Dr. Elaine Raybourn.  The webinar took place on Wednesday, May 9, 2018 at 1:00 pm ET.

Abstract:

Continual advances in new technologies for computational science often require members of the HPC community to learn new tools, techniques, or processes on-demand, or outside of a formal education setting. While the variety of media and deluge of content make on-demand learning a reality, very few learners apply guiding principles from learning science to set themselves up for success. Applying on-demand learning strategies for self-paced “learning in the wild” can augment professional learning courses from EdX, Udacity, and YouTube. Employing use cases and examples from Python and Git, this webinar will demonstrate how to develop a personalized learning framework leveraging massively open online courses (MOOC), podcasts, social media, videos, and more. A walk through of relevant learning applications will be provided. Participants of this webinar will take away practical strategies, resources, and tools that can be applied toward learning more productively in general, and specifically to software development.

 

Jun
13
Wed
Popper
Jun 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 in the series is titled “Popper: Creating Reproducible Computational and Data Science Experimentation Pipelines”, and was presented by Ivo Jimenez of UC Santa Cruz.  The webinar took place on Wednesday, June 13, 2018 at 1:00 pm ET.

Abstract:  

Current approaches used in computational and data science research may require significant time without necessarily advancing scientific understanding. For example, researchers may spend countless hours reformatting data and writing code to attempt to reproduce previously published research. What if the scientific community could find a better way to create and publish workflows, data, and models that are easy to reproduce, thus streamlining scientific analysis? Popper is a protocol and command language interpreter (CLI) tool for implementing scientific exploration pipelines following a DevOps approach of unifying software development and operation in order to handle complexity in large codebases. Popper repurposes DevOps practices in the context of scientific explorations, so that researchers can leverage existing tools and technologies to enable reproducibility.  This webinar will introduce the Popper protocol, including a demo of the CLI tool and HPC examples.

 

Jul
18
Wed
Open Source Software
Jul 18 @ 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) facilitates a webinar series on Best Practices for HPC Software Developers.

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 “How Open Source Software Supports the Largest Computers on the Planet”, and was presented by Ian Lee of Lawrence Livermore National Laboratory.  The webinar took place on Wednesday, July 18, 2018 at 1:00 pm ET.

Abstract:

This talk provided an overview of the work at Lawrence Livermore National Laboratory to re-vamp their open source project offerings, release processes, and engagements across the Department of Energy and the US Government through efforts such as DOECode and Code.gov. The presenter discussed ongoing work to make it easier for Livermore staff to engage with open source communities, via both the creation of new projects and contributions to existing open source projects.  These experiences and insights may be useful to a wide range of developers of high-performance scientific software.

Aug
21
Tue
Software Sustainability – Lessons Learned
Aug 21 @ 12:00 pm – 1: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 is titled “Software Sustainability – lessons learned from different disciplines”, and will be presented by Neil Chue Hong of the Software Sustainability Institute (University of Edinburgh).  The webinar will take place on Wednesday, August 21, 2018 at 12:00 pm ET.

Abstract:

How do you make software sustainable? How much is it about process and how much about practice? Does it vary between countries or disciplines? In this webinar, I’ll present what the UK’s Software Sustainability Institute has learned from 8 years of work in this area including efforts around understanding the scale of software use in research, raising the profile of software as a key part of the research ecosystem, and how we can enable researchers and developers to build better software.

Sep
19
Wed
Modern CMake
Sep 19 @ 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 Modern CMake, and was presented by Bill Hoffman.  The webinar took place on Wednesday, September 19, 2018 at 1:00 pm ET.

Abstract:

Bill Hoffman, the creator of the CMake project, will give an introduction to development with modern CMake constructs. CMake is 17 years old and has evolved over time into the most widely used C++ build  tool in the world. In the past 5 years, many new features have been added to CMake to make the creation of cross-platform build files easier. This webinar will provide best practices for development and maintenance of a CMake build system.  The webinar will cover the “target centric” approach to writing CMake files. In addition, testing and quality dashboards with CDash will be covered. Kitware’s experience with HPC systems and CMake will also be discussed.

Oct
17
Wed
Open Source Best Practices: From Continuous Integration to Static Linters
Oct 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 is titled Open Source Best Practices: From Continuous Integration to Static Linters, and will be presented by Daniel Smith and Ben Pritchard (members of the NSF-funded Molecular Sciences Software Institute, or MolSSI). The webinar will take place on Wednesday, October 17, 2018 at 1:00 pm ET.

Abstract:

This webinar will continue the discussion of open source software (OSS) opportunities within the scientific ecosystem to include the many cloud and local services available to OSS free of charge. The services to be discussed include continuous integration, code coverage, and static analysis. The presenters will demonstrate the usefulness of these tools and how a small time investment at the beginning is traded for long-term benefits. These services and ideas are agnostic to software language or HPC software application and should apply to any party interested in tools that help ease the burden of software maintenance.

Dec
5
Wed
Introduction to Software Licensing
Dec 5 @ 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 Introduction to Software Licensing, and will be presented by David Bernholdt (Oak Ridge National Laboratory). The webinar took place on Wednesday, December 5, 2018 at 1:00 pm ET.

Abstract:

Software licensing and related matters of intellectual property can often seem confusing or hopelessly complicated, especially when many present their opinions as dogma. This presentation takes a different approach: getting you to think about software licensing from the standpoint of what you want others to be able to do (or not do) with your software. We started by developing a common understanding of the terminology used around software licenses. Then considered various scenarios of what you might want to accomplish with a software license, and what to look for in the license. We also discussed some pragmatic issues around actually applying a license to your software.

Jan
23
Wed
Quantitatively Assessing Performance Portability with Roofline
Jan 23 @ 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 Quantitatively Assessing Performance Portability with Roofline, and will be presented by John Pennycook (Intel), Charlene Yang (Lawrence Berkeley National Laboratory) and Jack Deslippe (Lawrence Berkeley National Laboratory). The webinar will take place on Wednesday, January 23, 2019 at 1:00 pm ET.

Abstract:

Wouldn’t it be great if we could port a code to a new high-performance architecture without substantially changing the code yet achieving a similar level of performance as hand-optimized code? This webinar will frame the discussion around ‘performance portability’, why it is important and desirable, and how to quantitatively measure it. The webinar started with a background check on how the concept of performance portability came about and past attempts to define it and quantify it. Then the speaker introduced a simple yet powerful metric and an empirical methodology to quantitatively assess a code’s performance portability across multiple platforms. The methodology uses the Roofline performance model to measure an ‘architectural efficiency’ term in the metric proposed by Pennycook et al. The speaker then dove into a few nuances of this methodology, for example, how and why empirical ceilings should be used for performance bounds, how to accurately account for complex instructions such as divides, how to model strided memory accesses, and how to select the appropriate Roofline ceilings and application performance points to make sure that the performance portability analysis is not erroneously skewed. We also showed some results of measuring performance portability using the aforementioned metric and methodology on two modern architectures, Intel Xeon Phi and NVIDIA V100 GPUs.