The SENSEI User Guide¶
Write once run anywhere. SENSEI seamlessly & efficiently enables in situ data processing with a diverse set of languages, tools & libraries through a simple API, data model, and run-time configuration mechanism.
A SENSEI instrumented simulation can switch between different analysis back-ends such as ADIOS, Libsim, Ascent, Catalyst etc, at run time without modifying code. This flexibility provides options for users, who may have varying needs and preferences about which tools to use to accomplish a task.
Deploying a back end data consumer in SENSEI makes it usable by any SENSEI instrumented simulation. SENSEI is focused on being light weight, having low memory and execution overhead, having a simple API, and minimizing dependencies for each back-end that we support.
Scientists often want to add their own diagnostics in addition to or in place of other back-ends. We strive to make this easy to do in Python and C++. We don’t aim to replace or compete against an individual vis/analysis tool, we aim to make the pie bigger by making their tool and capabilities available to a broader set of users.
With SENSEI the sum is greater than the parts. For instance for both simulations and back-end data consumers, which have not been designed for in transit use, can be run in transit with out modification. Configuring for in transit run makes use of the same simple configuration mechanism that is used to select back-end data consumer.
Write once run everywhere. SENSEI provides access to a diverse set of in situ analysis back-ends and transport layers through a simple API and data model. Simulations instrumented with the SENSEI API can process data using any of these back-ends interchangeably. The back-ends are selected and configured at run-time via an XML configuration file. This document is targeted at scientists and developers wishing to run simulations instrumented with SENSEI, instrument a new simulation, or develop new analysis back-ends.
SENSEI is open source and freely available on github at https://github.com/SENSEI-insitu/SENSEI.
SENSEI has autmated Doxygen documentation at https://sensei-insitu.readthedocs.io/en/latest/doxygen.
Table of Contents¶
- System Components
- System Overview & Architecture
- Adaptor API’s
- Data model
- Analysis back-ends
- In transit transport layers and I/O
- The SENSEI end-point
- Analysis & Visualization Vignettes
- 1. Software Tools to Enable Immersive Simulation
- 2. Improving Performance of M-to-N Processing and Data Redistribution in In Transit Analysis and Visualization
- 3. Instrumenting multiphysics blood flow simulation codes for in situ visualization and analysis
- 4. Spack meets singularity: creating movable in-situ analysis stacks with ease
- 5. Fast Mesh Validation in Combustion Simulations through In-Situ Visualization.
- 6. Low-overhead in situ visualization using halo replay
- 7. Python-based In Situ Analysis and Visualization
- 8. In situ visualization and analysis to design large scale experiments in computational fluid dynamics
- 9. libIS: a lightweight library for flexible in transit visualization
- 10. In Situ Summarization with VTK-m
- 11. Performance Analysis, Design Considerations, and Applications of Extreme-scale In Situ Infrastructures
- 12. The SENSEI Generic In Situ Interface
- Tutorials and Examples
- Developer Guidelines