Welcome to the VSs Language
- How to program using VSs
- Full list of VSs constructs available
- for developers
Overview
VSs is an implementation of the StarSs language, on top of VMS. As such, it uses library calls to invoke StarSs constructs, so VSs ends up being somewhat clunky and inconvenient. However, its performance is much higher than the standard StarSs, and it takes advantage of the porting of the underlying VMS, so it maintains high runtime performance on all machines that VMS has been tuned for.
The main reasons for creating VSs are to compare performance head-to-head against the standard distribution and to provide a simpler and easier to use code base for integrating with the Nexus++ hardware that accelerates the StarSs runtime.
At some point, if the concept proves popular, a preprocessor will be created (probably in python) that converts a standard OMPSs program into the equivalent VSs version.
VSs has (will have soon: July 2012) the main functionality of OpenMP and StarSs combined. As a bonus, the send-receive constructs from SSR have been imported into VSs, and can be used with either VSs or OpenMP tasks, or with OpenMP threads or the VSs main thread. The total development time was 18 hours for the StarSs functionality and 22 hours for the OpenMP functionality. They were developed separately, then 2 hours was required to put them together. In addition, the send-receive construct code was taken from SSR and took 7 hours to modify to work with tasks instead of VPs (threads). These times include commenting, coding, debug, and test.
A sample project that shows VSs in action, with a sample application and all the library and runtime code can be cloned from . See the VMS development page to learn about the structure of VMS projects and the organization of language library and runtime code.