Skip to content

Latest commit

 

History

History
52 lines (39 loc) · 1.98 KB

README.md

File metadata and controls

52 lines (39 loc) · 1.98 KB

sst-version-switcher

SST local config version switcher

Overview

The sst-version-switcher repo provides some handy scripts that can be integrated with traditional environment modules (both LMOD and TCL) to switch between local versions of SST configuration files. For those developing components or other external SST tooling, its often required to switch between versions of SST for testing.
These scripts will setup per-SST-version local configuration files for users that can be triggered when loading specific versions of SST.

There are currently two scripts in this repo:

  • sst-build-ver : Builds a set of local ~/.sst/sstsimulator.conf files for a set of known SST releases. Each file is created as ~/.sst/sstsimulator.conf@VERSION.
  • sst-ver-switch : Switches between local version configuration files. This is the script to integrate with your environment modules

Installing

Copy the scripts to a location that is accessible by all users and all nodes of your HPC environment. Each user will need to run the sst-build-ver script to create local versions of their respective configuration files.

Integrating with modulefiles

TCL

Integrating with TCL style environment is simple. Open the respective module configuration file and add something akin to the following after all of the PATH information has been updated.

system /opt/ohpc/pub/sst/sst-ver-switch

LMOD

Integrating with LMOD style environment modules is simple. Open the respective module configuration file and add something akin to the following below the prepend-path directives.

execute {cmd="/opt/ohpc/pub/sst/sst-ver-switch",modeA={"load"}}

Limitations

  • The current scripts are not setup to go further back than SST 13.0.0 (see sst-build-ver). Its trivial to add older versions though.
  • The current scripts do not support development environments where the SST version number is actually an upstream git hash

Acknowledgements

  • John Leidel
  • Ryan Kabrick
  • Tim Dysart