Training and Productivity

Lead: Osni Marques, Lawrence Berkeley National Laboratory

For applications to take full advantage of exascale hardware and software, a robust developer training and productivity program keeps application and software team members, staff, and other stakeholders abreast of emerging technologies and key technologies of importance to ECP. These projects are done in close collaboration among the computing facilities, vendors, and the ECP community.

Description: Disseminate and transfer application development knowledge, lessons learned, and best practices across application teams; provide training on key technologies.

For applications to take full advantage of exascale hardware and software, a robust developer training and productivity program is necessary to keep application and software team members, staff, and other stakeholders abreast of emerging technologies. Potential high-priority topics for training include algorithms and methods, high-performing libraries, on-node parallelism and vectorization, application portability techniques, software technologies, and software engineering design principles and best practices.

While the primary focus of this project is on supporting ECP teams, the project has opened many training and productivity activities to a broader community whenever possible.  Training materials are archived in the training space of the ECP website. Reaching beyond the researchers involved in ECP today helps in developing a workforce for the ECP, as well as laying the groundwork for the second generation of exascale developers and users after ECP ends and exascale systems (including smaller-scale deployments of those architectures) become more common and accessible to a broader community.

Key aspects of the work include the following:

  • Partnering with ECP teams to understand productivity bottlenecks and improve software practices. Examples include build systems and continuous integration.
  • Customizing and curating methodologies for ECP teams to improve software productivity and sustainability, including methodologies for software development kits (SDKs), as vehicles for sustainable delivery of Software Technology (ST) products.
  • Creating sets of customizable resources for improving scientific software development.
  • Conducting training and outreach activities in close collaboration with DOE facilities, vendors, and the ECP community. Training is conducted through a variety of activities such as seminars, webinars, deep dive workshops and lectures, hackathons, and tutorials.
  • Expanding the Better Scientific Software community as a vehicle for partnerships with the broader HPC computational science community on issues in software productivity and sustainability.  This is done through activities like io and the BSSw Fellowship Program.
  • Applying strategies for transitioning ST and Application Development (AD) teams to exploit emerging ECP architectures, while retaining confidence in scientific results.

Lead: Osni Marques, Lawrence Berkeley National Laboratory

National Nuclear Security Administration logo U.S. Department of Energy Office of Science logo