NEWS: Proceedings now available in the ACM Digital Library.
Shared Workshop Google Document: http://goo.gl/drr2Cj
This workshop is concerned with identifying and applying appropriate software engineering (SE) tools and practices (e.g., code generators, static analyzers, validation + verification (V&V) practices, design approaches, and maintenance practices) to support and ease the development of Computational Science & Engineering (CSE) software for High Performance Computing (HPC). Specifically:
- CSE applications, which include, large parallel models/simulations of the physical world running on HPC systems.
- CSE applications that utilize HPC systems (e.g., GPUs computing, compute clusters, or supercomputers) to manage and/or manipulate large amounts of data.
- Risks due to the exploration of relatively unknown scientific/engineering phenomena;
- Constant change as new information is gathered;
- Data dependencies within the software;
- The need to identify the most appropriate parallelization strategy for CSE algorithms;
- The presence of complex communication among HPC nodes that could degrade performance;
- The need for fault tolerance and task migration mechanisms to mitigate the need to restart time-consuming computations due to software or hardware errors;
- Results are often unknown when exploring novel science or engineering areas and algorithms;
- Popular tools often do not work on the latest HPC architectures; they need to be tuned to handle many threads executing at the same time.>/li>
- Failure of components within running systems is expected due to system size;
- Long system lifespans necessitate porting across multiple platforms
In previous workshops on this topic, some of the discussion themes that emerged included:
- The unique characteristics of CSE software that affect software development choices;
- The appropriate context dimensions to describe CSE software;
- The major software quality goals for CSE software;
- Crossing the communication chasm between SE and CSE;
- Effectively involving scientists in software development and training;
- Measuring the impact of SE on scientific productivity;
- SE tools and methods needed by the CSE community;and
- How to effectively test CSE software.
Last Updated on November 21, 2013 by Jeffrey Carver