2017 SIAM Conference on Computational Science and Engineering (CSE17) This work is supported by the U.S. Department of Energy Office of Science, ASCR and BER programs. CSE Complete: R&D for Productivity Improvement M. Heroux, L.C. McInnes, D. Bernholdt, J. D. Moulton Goal: Improve CSE application developer productivity and software sustainability, as key aspects of increasing overall scientific productivity www.ideas-productivity.org We are actively soliciting contributions to the BetterScientificSoftware site, see https://github.com/betterscientificsoftware/betterscientificsoftware.github.io • Software Challenges: Exploit massive on-node concurrency and handle disruptive architectural changes while working toward predictive simulations that couple physics, scales, analytics, and more • Strategy: In collaboration with CSE community • Customize and curate methodologies for ECP application productivity and sustainability • Create an Application Development Kit of customizable resources for improving scientific software development • Partner with application teams on software improvements • Training and outreach in partnership with computing facilities IDEAS-ECP team: Catalysts for engaging CSE community on issues in productivity and sustainability • Partnerships with ECP applications teams • Understand productivity bottlenecks and improve software practices • Collaborate to curate, create, & disseminate software methodologies, processes, and tools that lead to improved scientific software • Software Carpentry-type approach to training for extreme-scale software productivity topics • Web-based hub for collaborative content development & delivery • Community-driven collection of resources to improve scientific software productivity, quality, and sustainability History and Accessibility IDEAS: Interoperable Design of Extreme-scale Application Software • Project began in Sept 2014 as ASCR/BER partnership to improve application software productivity, quality, and sustainability Resources: https://ideas-productivity.org/resources Highlights: • WhatIs and HowTo docs: concise characterizations & best practices • What is CSE Software Testing?  What is Version Control? • What is Good Documentation?  How to Write Good Documentation • How to Add and Improve Testing in a CSE Software Project • How to do Version Control with Git in your CSE Project • Webinar series, 2016: Best Practices for HPC Software Developers (slides and videos) • What All Codes Should Do: Overview of Best Practices in HPC Software Development • Developing, Configuring, Building, and Deploying HPC Software • Distributed Version Control and Continuous Integration Testing • Testing and Documenting your Code  more topics … IDEAS-ECP team: Michael Heroux (SNL), Co-Lead PI Lois Curfman McInnes (ANL), Co-Lead PI David Bernholdt (ORNL), Co-PI, Outreach Lead Todd Gamblin (LLNL), Co-PI Osni Marques (LBNL), Co-PI David Moulton (LANL), Co-PI Boyana Norris (Univ of Oregon), Co-PI Satish Balay (ANL) Roscoe Bartlett (SNL) Anshu Dubey (ANL) Rinku Gupta (ANL) Christoph Junghans (LANL) Alicia Klinvex (SNL) Reed Milewicz (SNL) Mark Miller (LLNL) Elaine Raybourn (SNL) Barry Smith (ANL) Louis Vernon (LANL) Greg Watson (ORNL) James Willenbring (SNL) Lisa Childers (ALCF) Rebecca Hartman-Baker (NERSC) Judy Hill (OLCF) Hai Ah Nam (LANL) Jean Shuler (LLNL) Facilities Liaisons Approach Phase-1 release: Spring 2017 Productivity and Sustainability Improvement Plans and Progress Tracking Cards Framework for software teams to identify, plan, and track improvements in productivity and sustainability Progress Tracking Card: Test Coverage Other practices: Source management system, documentation, software distribution, issue tracking, developer training, etc. • "What Is" doc: defines terms and concepts in a particular topic area. • "How To" doc: describes a process for improving productivity & sustainability. • Original experience: original article for informing the CSE community about how to impro