Loading
CIG supports the use of best software practices and the usage of modern software tools to craft and maintain usable, robust code. In support of this goal, CIG utilizes and promotes such practices in its day-to-day operations and user community.
The following material has been contributed by the community as a resource to developers.
[html] | Course overview; why consider existing software libraries | W. Bangerth* |
[html] | Beyond computational methods — Part 1: Workflows in scientific computing | W. Bangerth* |
[html] | Beyond computational methods — Part 2: Issues with developing large software | W. Bangerth* |
[arXiv] | Programming Languages for Scientific Computing (2012) | M. Knepley |
[arXiv] | Run-time extensibility and librarization of simulation software (2014) | J. Brown, et al. |
[YouTube] | Distributed Version Control and Continuous Integration Testing (2016) | J. Johnson |
[YouTube] | Testing and Documenting Your Code (2016) | A. Klinvex |
[YouTube] | An Introduction to High-Performance Parallel I/O (2016) | F. Wang |
[YouTube] | Basic Performance Analysis and Optimization (2016) | J. Deslippe |
[arXiv] | Good Enough Practices in Scientific Computing (2016) | G. Wilson, et al. |
[html] | ESIP Software Guidelines (2016) | S. Scott, ed. |
[html] | Learning to use modern tools, part 1 – Eclipse: an Integrated Development Environment (IDE), fragment 1 | W. Bangerth* |
[html] | Learning to use modern tools, part 1 – Eclipse: an Integrated Development Environment (IDE), fragment 2 | W. Bangerth* |
[html] | Best programming practices: Defensive programming and other ways to avoid bugs | W. Bangerth* |
[html] | More on debugging using Eclipse's built-in debugger | W. Bangerth* |
[html] | Learning to use modern tools, part 3 – doxygen: a documentation tool | W. Bangerth* |
[html] | Learning to use modern tools, part 4 – Paraview, an alternative visualization tool | W. Bangerth* |
[html] | Learning to use modern tools, part 5a: Version control systems (VCSs), Subversion | W. Bangerth* |
Oak Ridge Leadership Computing Facility [tutorials]
2014 Argonne National Lab Extreme Scale Computing Program (YouTube)
2016 ORNL/ORLCF Webinar Series: Best Practices for HPC Software Developers [web]
What makes computational open source software libraries successful? Wolfgang Bangerth and Timo Heister (2013), Comput. Sci. Disc. 6 015010 doi:10.1088/1749-4699/6/1/015010