The CSE17 conference features a number of events related to software productivity and sustainability, as listed below.
Computational Science and Engineering (CSE) complement theory and experiment as a critical component of scientific discovery. CSE is indispensable for leading edge investigation and engineering design in a vast number of industrial sectors, including for example, aerospace, automotive, biological, chemical, and semiconductor technologies that all rely increasingly on advanced modeling and simulation. CSE also contributes to policy and decisions relating to human health, resources, transportation, and defense. Finally, in many new areas such as medicine, the life sciences, management and marketing (e.g. data- and stream mining), and finance, techniques and algorithms from CSE are of growing importance.
CSE is naturally interdisciplinary. Its goals concern understanding and analyzing complex systems, predicting their behavior, and optimizing processes and designs. CSE thus grows out of physical applications, while depending on computer architecture and software, and having at its core powerful algorithms. At the frontiers of CSE remain many open problems and challenges, including the verification, validation, and uncertainty quantification of computational models; the analysis and assimilation of large and complex data sets, including techniques for visualization and animation; and the design of flexible CSE software.
The SIAM CSE conference seeks to enable in-depth technical discussions on a wide variety of major computational efforts on large-scale problems in science and engineering, foster the interdisciplinary culture required to meet these large-scale challenges, and promote the training of the next generation of computational scientists.
Highlights: CSE17 Events on Productivity and Sustainability Topics
Tutorial: CSE Collaboration through Software: Improving Productivity and Sustainability
This tutorial provides information on best practices in software engineering explicitly tailored for CSE. It discusses practices that are relevant for projects of all sizes, with emphasis on small teams.
|Tutorial title||CSE Collaboration through Software: Improving Productivity and Sustainablilty|
|Presenters||David Bernholdt, Anshu Dubey, Mike Heroux, Alicia Klinvex, Lois Curfman McInnes|
|Web links||CSE Collaboration through Software: Improving Productivity and Sustainablilty, Slides and Synced audio: Part 1 and Part 2|
CSE softwareâcrosscutting technology that connects advances in mathematics, computer science, and domain-specific science and engineeringâis a foundation of sustained CSE collaboration and scientific progress. However, the need for increasingly broad functionality on ever more complex computer architectures creates daunting challenges for software development and sustainability.
This tutorial provides information on best practices in software engineering explicitly tailored for CSE. Goals are improving the productivity of those who develop CSE software and increasing the sustainability of software artifacts. We discuss practices that are relevant for projects of all sizes, with emphasis on small teams (for example, a faculty member and collaborating students). Topics are:
- Why Effective Software Practices Are Essential for CSE Projects
- An Introduction to Software Licensing
- Better (Small) Scientific Software Teams
- Improving Reproducibility through Better Software Practices
- Testing of HPC Scientific Software
Minisymposium and Minisymposterium: Software Productivity and Sustainability for CSE and Data Science
The minisymposium speakers and poster presenters discuss work that addresses growing technical and social challenges in software productivity, quality, and sustainability, and thereby is helping software to fulfill its critical role as a cornerstone of long-term CSE collaboration.
|Resource Name||2017 SIAM Conference on Computational Science and Engineering (SIAM CSE17)|
|Websites||Minisymposium: Software Productivity and Sustainability for CSE and Data Science - Part I,Part II, Minisymposterium: Software Productivity and Sustainability for CSE and Data Science|
|Focus||Software productivity, quality, and sustainability|
The Minisymposium and Minisymposterium listed above as a part of SIAM CSE17, took place on March 1, 2017. Both focus on the importance of software in CSE collaboration. Software is the key crosscutting technology that connects advances in mathematics, computer science, and domain-specific science and engineering to achieve robust simulations and analysis for predictive science, engineering, and other research fields. While software is becoming more complex due to multiphysics and multiscale modeling, the coupling of data analytics, and disruptive changes in computer hardware (due to increases in typical system scale and heterogeneity, including GPUs and additional alternative architectures), software itself has not traditionally received focused attention in the CSE community or been rewarded by that community.
Slides for 8 presentations
- CSE Software Ecosystems: Critical Instruments for Scientific Discovery (introduction to session)
- Data Skills and Software Training to Enable Data-Driven Discovery
- The Research Software Engineer: An Emerging New Role in Academia in the UK
- Potential for Big Data Technologies to Radically Change the Software Engineering of HPC Visualization and Analysis Tools
- A Software Infrastructure for Solving Quantum Physics Problems on Extremely Parallel Systems
- Role of the Molecular Science Software Institute Toward Sustainable Software
- What We Have Learned About Using Software Engineering Practices in Scientific Software
Posters (29 total)
- Accelerating Application Software Development Through Software Productivity and Sustainability Plans
- The Application of Tribits to the Development and Integration Processes of Larger Componentized Multi-Organization Scientific and Engineering Software Projects
- CSE Complete: R&D for Productivity Improvement
- Developing Fast Code Through High-Level Annotations
- Devito: Towards An Efficient and Sustainable Finite Difference DSL
- DOECode: The New DOE Software Center
- GraphFlow: Workflow-Based Big Data Processing
- HPC Software Productivity Based on High-Level Abstraction in FEniCS
- The Impact of Structured AMR Representation on Software Design
- Improving Software Productivity of Uintah Through Task-Based Architectures, Performance Portability Libraries and Modern C++ Features
- The Journal of Open Source Software
- Jupyter Notebooks Facilitating Productivity, Sustainability, and Accessibility of Data Science
- Lessons Learned from Integrating Scientific Libraries Within a Plugin-Based Architecture
- Managing the Scientific Software Ecosystem with Spack
- Maximizing Usability and Performance in Numerical Software Packages
- NumFOCUS Sustainability Project
- PEACHPY.IO, a Web App for Performance Tuning
- Practical Approaches to Improve Program Understanding and Software Productivity of Scientific Code
- Regression and Performance Testing and Continuous Integration for Scientific Codes
- SE Software Maintenance and Automation: Beyond Testing
- Sirepo: An Open Source Platform for Portable Reproducible Simulations
- SlabGenerator: Improving Productivity for Subduction Modeling
- Software Citation Principles for Credit and Reuse
- Software Productivity Strategies for the Sundials Suite of Time Integrators and Nonlinear Solvers
- Sustainable Productivity in the FEniCS Development Team
- System Testing for PDE Frameworks - Tools and Experiences
- A Sustainable Software Architecture for Scalable Nonlinear Boundary Element Method Simulations
- World SpatioTemporal Analytics & Mapping Project (WSTAMP): Cloud Implementation of Open Source Algorithms and Data Stores for Sustainable, Scalable Analysis of Space-Time Data
- xSDK: Working toward a Community CSE Software Ecosystem
Minisymposium: How to Succeed with Open Source Software
Organizers: Brian M. Adams (SNL), Damon McDougall (University of Texas at Austin)
Abstract: The open source model holds great promise for CS&E software. Diverse contributions and peer reviews improve technical quality, distributed teams contribute developer horsepower, integration and testing in myriad environments improve software quality, and the open source code itself allows flexibility to tailor to new applications. Open source CS&E software fosters open, reproducible research and supports an open science process. Yet achieving truly collaborative and open software can be challenging. Representing exemplar software projects, the speakers in this session emphasize benefits and challenges of open source CS&E software, and advise on best practices to succeed in collaborative development.
- Minisymposium URL: http://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE=61149
Tutorial: Version Control with Git
Presenters: Randall LeVeque, University of Washington, USA; David I. Ketcheson, King Abdullah University of Science & Technology (KAUST), Saudi Arabia; Kyle T. Mandli, Columbia University
Abstract: The Git version control system is now widely used in the scientific computing community, not only for developing code (individually or collaboratively) but also for writing papers and grant proposals, sharing course materials with students and supporting group projects, and a host of other uses.
The first part of this tutorial will introduce the basic concepts of Git and show how easy it is to get started using version control for your own work, on your own computer, as a good way to back up your work, keep track of changes you've made, revert to an earlier version if needed, and improve your ability to reproduce your own earlier work.
The second part will cover more advanced concepts that are useful when using Git to collaborate with others, either privately or as part of an open source software community. We will cover branching, merging, forking, and the use of pull requests. We will also explore the tools available on GitHub, a popular collaboration site that hosts many open source projects.
It is recommended that participants first install Git on their own laptops (see https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and create a free account on GitHub (see https://github.com/).
- Tutorial URL: http://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE=61491
- Resources for tutorial: https://github.com/uwescience/git-tutorials-siamcse2017
- Coming soon from SIAM: Recorded audio, synchronized with presentation screen
Invited Presentation: Productive and Sustainable: More Effective CSE
Speaker: Mike Heroux, Sandia National Laboratories
Abstract: Computational Science and Engineering (CSE) is effective to the extent it contributes to overall scientific and engineering pursuits. Its contributions are most tangible when delivering concrete scientific and engineering results via modeling, simulation and analysis. At the same time, delivery of CSE results is impacted by how we develop and support the ecosystem that produced these results, including, in particular, software and people. While delivering results is the ultimate goal of our CSE efforts, the shortest path to results is often not the most productive and sustainable.
In this presentation we discuss elements that impact the effectiveness of CSE efforts, beyond just the direct activities to produce results. We discuss how processes, tools and a holistic view of efforts can lead to more effective CSE. We also discuss the importance of human factors in CSE activities, highlighting ways we can provide natural incentives toward more effective CSE.
- Presentation URL: http://meetings.siam.org/sess/dsp_programsess.cfm?SESSIONCODE=62113
- Slides for presentation: https://doi.org/10.6084/m9.figshare.4728697