en-es
en-fr
en-sl
en
0.25
0.5
0.75
1.25
1.5
1.75
2
HPC Software Engineering
Published on Sep 19, 20161108 Views
Related categories
Chapter list
HPC Software Engineering00:00
Intro - 100:19
Intro - 200:50
Experiences from 20 years of GROMACS development01:34
Scientist vs Software engineer02:33
Professional modern development tools04:46
The Picture until early 201105:25
What has changed in our code since IHPCSS 2015? 05:47
Source code revision control06:35
The CVS/SVN limitation06:43
Better source control: GIT07:19
Start your free repo on github.com or atlassian.com07:58
What git will give you08:35
Good git commits are09:27
Is your code portable?10:01
What is a build chain?11:33
Configuration12:09
CMake: Cross-platform replacement for Autoconf, Automake, Libtool12:24
~100 CMake tests for features/bugs/libraries/compilers12:40
Out-of-source builds13:25
Living with your code for years: Documentation14:23
Direct source code documentation should stay in the source!14:38
Doxygen example - our SIMD module14:57
Non-source-code documentation: SPHINX (from Python)15:30
Finding & Preventing Bugs18:44
Modularization19:12
Languages?19:57
The Case for C++20:19
C/FORTRAN vs C++1121:08
Circular dependencies are bad If a test fails, where is the bug here?22:02
Modularization22:29
Aggressive unit testing22:56
Example Gromacs unit tests23:31
Commits - how code makes it into Gromacs24:22
Gerrit Code Review - 124:42
Gerrit Code Review - 225:49
Maintaining quality & avoiding breaking stuff25:58
Jenkins Continuous Integration26:08
CI tests - for every commit27:09
Book-keeping, Bugtracking, Feature tracking, Developer discussions27:57
Redmine issue tracking28:03
License Considerations30:17
Communities & Cultures31:57
Some good reading35:23
Series of blog posts by Bruce Dawson about IEEE754 floating point36:20
Use the source, Luke37:08