
What is the Composer Toolkit?
The Composer Toolkit facilitates the construction of high-quality cross-platform graphical application interfaces suitable for interacting with high-performance computations applications running locally, on clusters, or on leadership class computers with hundreds of thousands of cores. Users of computational applications in High Performance Computing (HPC) environments are hampered by the difficulties of aggregating the various operations involved in running simulations such as input setup, run management, visualization, and other post-processing analysis. The Composer Toolkit is a set of tools that provide a foundation for building high-quality cross-platform graphical application interfaces that overcome these difficulties.
Abstracting Operations
The Composer Toolkit aims to provide abstracted reusable functionality for the typical operations involved in executing HPC simulations. The composer graphical interfaces hide the complexity of the power user's workflow. In this workflow, the user would log into the remote host through a terminal then type commands to configure, run, visualize, and analyze output. The Composer Toolkit has interfaces to define and validate inputs before they are run remotely. There are interfaces to remotely execute parallel simulations, whether single physics computational applications or frameworks that bring together many computational components. The Composer Toolkit leverages the VisIt visualization package, licensed by the Lawrence Livermore National Laboratory. The Composer Toolkit embeds VisIt viewer windows to give Composer Toolkit-based applications powerful remote parallel visualization and visual analysis capabilities.

Composer tabs follow the user's workflow.
Execution on High Performance Computers
The Composer Toolkit provides infrastructure that enables the user to work on a desktop while computation is taking place either locally or on a remote HPC. To this end, the Composer Toolkit includes mechanisms to launch Secure Shell commands and generate scripts such as those needed by batch systems. Scripts that automate what a power user would do from the command-line are used by the Composer to provide execution capability to all users. Host profiles are defined (with machine specifics that can be pre-loaded) once, after which the user can simply click a run button.

The run tab allows for further configuration of
simulation
and
setting of parallel execution parameters.
Monitoring
Composer integrates all of the essential features of the HPC simulation process, including monitoring. Again, the tools invoked by the power user are automatically run in the background for the graphical interface user. These power user activities include calling status commands on the batch system, checking for the existence of files, and parsing simulation progress files. The goal is to abstract these processes and information sources so that the Composer interfaces can present them to the user in a uniform, clear, and informative way.
Visualization
Powerful visualization tools by nature present the user with a large number of features. This is often overwhelming for the user who is more familiar with the physics, than with visualization terminology and conventions. The GUI approach is to take the VisIt code base and embed pre-configured visualization windows that give the user some indication of what is going on in the data. Important HPC features such as remote and parallel processing of the visualization come with VisIt, in which only the current view is transferred from the remote host instead of the entire output datasets.

Using the rich features of VisIt views and the Tech-X VizSchema markup for HDF5 output, Composer Toolkit based application can tailor the default views and give the user reasonable choices in the interface to make the visualizations that may be specific to the simulation.

VORPAL Composer showing electromagnetic cavity visualizations.

FACETS Composer showing toroidal tokamak temperature visualizations.
Once the user has a useful visualization, the user can gradually explore the full spectrum of analysis that comes with VisIt. While the Composer presents users with default views, the user can also execute the full VisIt interface that exposes the rich toolsets that allow for exploration, presentation, debugging, quantitative analysis, and comparative analysis. In preparing a Composer interface, any one of the features of VisIt could be called in customized ways as the simulation application team sees fit. As much or as little of the VisIt capability can be exposed, depending on the need.
For more information about the Tech-X Composer Toolkit, please contact the project's P.I., Dr. Svetlana Shasharina.
