Skip to content

HPC Software Quality

Fotis Georgatos edited this page Nov 25, 2013 · 7 revisions

Preamble

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.

Criteria

  • 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:

References