-
Notifications
You must be signed in to change notification settings - Fork 10
HPC Software Quality
Fotis Georgatos edited this page Nov 25, 2013
·
7 revisions
Software for HPC/Scientific Computing comes with lots of bells and whistles and, often requires customization at many levels in order to become available as service. Developers/providers of related software are not always aware of the challenges inherent in delivering the software as a service and this is a chance to communicate such needs via weighting the software quality, as regards the installation aspects.
- relocatable: ability to freely choose the delivery path within the system
- generality: make as few assumptions about the relying system as possible (fi. compiler rpm/deb)
- buildable bundles: use of configure or cmake style installation mechanisms, wherever applicable
- orthogonality: do not hard-wire versions of software dependencies (incl. scripting languages etc)
- non-collission: should allow two installers to run in parallel freely (eg. avoid /tmp/extractdir)
- documentation: provide a quickstart style of guide for who care little about inners of the installer
-
tidy builds: do not leave unnecessary left-over files or change permissions in
$HOME
,pwd
etc - testable: provide test/validation suites for the delivered build
- standards aware: Follow wisely language (fi. C90) or implementation (fi. IEEE754) standards
- overrideable defaults: as says, avoid hardwired parameters
other traits:
- be consistent in version number announced and published via the binary
- avoid rewriting the same version number twice, for fixing bugs making changes etc - no matter how trivial