Aug
16
Wed
Using the Roofline Model and Intel Advisor
Aug 16 @ 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), is resuming the webinar series on Best Practices for HPC Software Developers, which we began last year.

As part of this series, we will 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 will be required for each event.

The next webinar in the series was “Using the Roofline Model and Intel Advisor” with speaker Sam Williams of Lawrence Berkeley National Laboratory.  This webinar took place on August 16, 2017 and you can find a copy of the presentation and the video from the webinar in the Presentation Materials section below.

This webinar began by introducing the Roofline Model and its “Cache-Aware” variant.   Then, they moved to general guidelines and historical approaches to Roofline-based program analysis.  Next, they provided a short discussion of how changes in data locality and arithmetic intensity of two canonical benchmarks visually manifest in the context of these two Roofline formulations.  The speakers then conducted demonstrations of using Intel Advisor and the Roofline model within Intel Advisor.  The first demo was primarily instructive on how to compile, benchmark, and use Advisor. The second demo focused on using variants of a simple benchmark to highlight changes in the Roofline model as well as providing correlation to Advisor’s other capabilities.
Sep
13
Wed
Barely Sufficient Project Management: A few techniques for improving your scientific software development efforts
Sep 13 @ 1:00 pm – 2:30 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) is resuming the webinar series on Best Practices for HPC Software Developers, which we began in 2016.

As part of this series, we will 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 will be required for each event.

The next webinar is titled “Barely Sufficient Project Management: A few techniques for improving your scientific software development efforts”, and will be presented by Michael Heroux of Sandia National Laboratories.

Software development is an essential activity for many scientific teams.  Modeling, simulation and data analysis, using team-developed software, are increasing valuable for scientific discovery and engineering. Many teams use informal, ad hoc approaches for managing their software efforts.  While sufficient for many efforts, a modest emphasis on team models and processes can substantially improve developer productivity and software sustainability.

In this presentation, we discuss several light-weight techniques for managing scientific software efforts.  Using checklists, policy statements and a Kanban workflow system, we emphasize techniques for managing the initiation and exit of team members, approaches to synthesizing team culture, and ways to improve communication within a team and with its stakeholders.

 

Video: https://youtu.be/oy4iz_vxieU

Sep
20
Wed
Scalable Node Programming with OpenACC
Sep 20 @ 1:00 pm – 2:15 pm

The DOE Exascale Computing Project (ECP) is pleased to sponsor a webinar presented by Michael Wolfe of NVIDIA titled “Scalable Node Programming with OpenACC” that took place on Wednesday, September 20, at 1:00 pm ET.

Supercomputer nodes are becoming more parallel with each generation.  HPC applications must now utilize parallelism on-node as well as across many nodes for performance.  OpenACC is designed to expose and exploit parallelism, whether that be for a multicore, a manycore, or a GPU-accelerated node.

This webinar discussed:

  • what problems OpenACC addresses;
  • the important elements of OpenACC;
  • how and why OpenACC is being adopted and used in production science and engineering applications, including Gaussian, Fluent, VASP, and several weather and climate codes;
  • current status of OpenACC tools and of the specification;
  • building and using applications with OpenACC for different targets;
  • the OpenACC community and user events;
  • new features requested by users coming with OpenACC 2.6 and beyond.
Nov
1
Wed
Managing Defects in HPC Software Development
Nov 1 @ 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) is resuming the webinar series on Best Practices for HPC Software Developers, which we began in 2016.

As part of this series, we will 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 will be required for each event.

The next webinar in the series was titled “Managing Defects in HPC Software Development”, and was be presented by Dr. Tom Evans of the Oak Ridge National Laboratory and PI of the ECP Application Development Project titled, Coupled Monte Carlo Neutronics and Fluid Flow Simulation of Small Modular Reactors (ExaSMR).  The webinar took place on Wednesday, November 1, at 1:00 pm ET.

Software Quality Engineering (SQE) and methods research and scientific investigation are often thought to be incompatible.  However, in reality they are not only compatible, but required in order to have confidence in the results of even basic scientific computations.  This is especially true for parallel software.  In this talk we will look at methods for performing software verification.  Software verification is a method for removing defects at code construction time; these techniques can help in both algorithm and method development, as well as increased productivity.

 

Dec
6
Wed
Better Scientific Software Webinar
Dec 6 @ 1:00 pm – 2:15 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) is resuming the webinar series on Best Practices for HPC Software Developers, which we began in 2016.

As part of this series, we will 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 will be required for each event.

The next webinar in the series took place on December 6, 2017 and was titled “Better Scientific Software”.

Better Scientific Software (BSSw) is an organization dedicated to improving developer productivity and software sustainability for computational science and engineering (CSE).  This presentation introduced a new website (https://bssw.io)—a community exchange for scientific software improvement.  We’re creating a clearinghouse to gather, discuss, and disseminate experiences, techniques, tools, and other resources to improve software productivity and sustainability for CSE. Site users can find information on scientific software topics and can propose to curate or create new content based on their own experiences. The backend enables collaborative content development using standard GitHub tools and processes.  We need your contributions to build the BSSw site into a vibrant resource, with content and editorial processes provided by volunteers throughout the international CSE community.

Jan
17
Wed
Bringing Best Practices to a Long-Lived Production Code
Jan 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. Participation is free and open to the public, but registration is required for each event.

The next webinar in the series was titled “Bringing Best Practices to a Long-Lived Production Code“, and was presented by Dr. Charles R. Ferenbaugh of Los Alamos National Laboratory.  The webinar took place on Wednesday, January 17, 2018 at 1:00 pm ET.

Abstract:  

How can you introduce best software practices to a long-lived scientific production code, with a significant user base, that has “gotten along fine” for years doing things its own way?  Often developers in such projects must struggle with overly complex code, inadequate documentation, little or no software process, and a “just write the code fast” culture; these are challenges to software quality that are generally not issues for new projects.  In this presentation the speaker discussed some of the peculiar problems faced by long-lived codes, and present a case study of how  they are dealing with these issues in the xRage code at LANL.

Feb
28
Wed
Jupyter and HPC: Current State and Future Roadmap
Feb 28 @ 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 “Jupyter and HPC: Current State and Future Roadmap”, and was presented by Matthias Bussonnier (UC Berkeley), Shreyas Cholia (LBNL), and Suhas Somnath (ORNL).  The webinar took place on Wednesday, February 28, 2018 at 1:00 pm ET.

Abstract:  

During the last few years the Jupyter notebook has become one of the tools of choice for the data science and high-performance computing (HPC) communities. This webinar will provide an overview of why Jupyter is gaining traction in education, data science, and HPC, with emphasis on how notebooks can be used as interactive documents for exploration and reporting.  We will present an overview of how Jupyter works and how the network protocol can be leveraged for both a local single machine and remote-cluster work.  We will discuss the nuts and bolts of how Jupyter has been deployed at NERSC as a case study in implementation of Jupyter in an HPC environment. This work implies learning the Jupyter ecosystem to take advantage of its powerful abstractions to develop custom infrastructure to satisfy policies and user needs. The webinar showed, as a use case, how Jupyter notebooks have transformed data discovery, visualization, and interactive analysis for the scanning probe and electron microscopy communities at Oak Ridge National Laboratory. It also showed how notebooks can seamlessly accommodate measurements from a wide variety of instruments through Pycroscopy, a framework for instrument agnostic data storage and analysis.

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.