SENSEI
A frame work for generic in situ analytics
|
An adaptor that creates and configures one or more adaptors from XML. More...
#include <ConfigurableAnalysis.h>
Public Member Functions | |
senseiTypeMacro (ConfigurableAnalysis, AnalysisAdaptor) | |
void | PrintSelf (ostream &os, svtkIndent indent) override |
int | SetCommunicator (MPI_Comm comm) override |
Set the MPI communicator to be used by the adaptor. More... | |
void | SetVerbose (int val) override |
Set the level of verbosity of console output. More... | |
void | SetAsynchronous (int val) override |
When set the analysis should buffer the simulation data and run in the background returning to the simulation immediately. More... | |
void | SetDeviceId (int val) override |
Set the device that the analysis should run on. More... | |
void | SetDevicesToUse (int val) override |
Set the number of devices to use per node. More... | |
void | SetDeviceStart (int val) override |
Set the first on node device to use in automatic device selection. More... | |
void | SetDeviceStride (int val) override |
Set the number of devices to skip in automatic device selection. More... | |
int | Initialize (const std::string &filename) |
Initialize the adaptor using the configuration specified. More... | |
int | Initialize (const pugi::xml_node &root) |
Initialize the adaptor using the configuration specified. More... | |
bool | Execute (DataAdaptor *data, DataAdaptor **result) override |
Invokes the Execute method on the currently configured adaptors. More... | |
int | Finalize () override |
Invokes the Finalize method on the currently configured adaptors. More... | |
Public Member Functions inherited from sensei::AnalysisAdaptor | |
senseiBaseTypeMacro (AnalysisAdaptor, svtkObjectBase) | |
void | PrintSelf (ostream &os, svtkIndent indent) override |
Prints the current state of the adaptor. More... | |
MPI_Comm | GetCommunicator () |
returns the MPI communicator to be used for all communication More... | |
virtual int | GetVerbose () |
Get the level of verbosity of console output. More... | |
virtual int | GetAsynchronous () |
Get asynchronous mode. More... | |
virtual int | GetDeviceId () |
Get the device that the analysis should run on. More... | |
virtual int | GetDevicesToUse () |
Get the number of devices to use per node. More... | |
virtual int | GetDeviceStart () |
Get the first device to use. More... | |
virtual int | GetDeviceStride () |
Get the number of devices to skip. More... | |
Static Public Member Functions | |
static ConfigurableAnalysis * | New () |
creates a new instance. More... | |
Protected Member Functions | |
ConfigurableAnalysis (const ConfigurableAnalysis &)=delete | |
void | operator= (const ConfigurableAnalysis &)=delete |
Protected Member Functions inherited from sensei::AnalysisAdaptor | |
AnalysisAdaptor (const AnalysisAdaptor &)=delete | |
void | operator= (const AnalysisAdaptor &)=delete |
Additional Inherited Members | |
Public Types inherited from sensei::AnalysisAdaptor | |
enum | { DEVICE_HOST =-1, DEVICE_AUTO =-2 } |
values controling device selection More... | |
Protected Attributes inherited from sensei::AnalysisAdaptor | |
MPI_Comm | Comm |
int | Verbose |
int | DeviceId |
int | DevicesPerNode |
int | DevicesToUse |
int | DeviceStart |
int | DeviceStride |
int | Asynchronous |
An adaptor that creates and configures one or more adaptors from XML.
When the Execute method is invoked the calls are forwarded to the active instances. The supported adaptors include:
Class | Description |
---|---|
sensei::Histogram | Computes histograms |
sensei::ADIOS2AnalysisAdaptor | The write side of the ADIOS2 transport |
sensei::HDF5AnalysisAdaptor | The write side of the HDF5 transport |
sensei::AscentAnalysisAdaptor | Processes simulation data using Ascent |
sensei::CatalystAnalysisAdaptor | Processes simulation data using ParaView Catalyst |
sensei::LibsimAnalysisAdaptor | Processes simulation data using VisIt Libsim |
sensei::Autocorrelation | Compute autocorrelation of simulation data over time |
sensei::VTKPosthocIO | Writes simulation data to disk in a SVTK format |
sensei::VTKAmrWriter | Writes simulation data to disk in a SVTK format |
sensei::PythonAnalysis | Invokes user provided Pythons scripts that process simulation data |
sensei::SliceExtract | Computes planar slices and iso-surfaces on simulation data |
sensei::DataBinning | Bins point/particle data onto a cartesian grid with arbitrary axes |
sensei::ParticleDensity | Computes particle spatial density on a cartesian grid |
|
overridevirtual |
Invokes the Execute method on the currently configured adaptors.
Implements sensei::AnalysisAdaptor.
|
overridevirtual |
Invokes the Finalize method on the currently configured adaptors.
Reimplemented from sensei::AnalysisAdaptor.
int sensei::ConfigurableAnalysis::Initialize | ( | const std::string & | filename | ) |
Initialize the adaptor using the configuration specified.
int sensei::ConfigurableAnalysis::Initialize | ( | const pugi::xml_node & | root | ) |
Initialize the adaptor using the configuration specified.
|
static |
creates a new instance.
|
overridevirtual |
When set the analysis should buffer the simulation data and run in the background returning to the simulation immediately.
This mode requires MPI_THREAD_MULTIPLE and each thread must use a different communictor or serialize the calls to MPI collectives. The environment variable SENSEI_ASYNCHRONOUS
provides the initial value. Oterwise the default is 0.
Reimplemented from sensei::AnalysisAdaptor.
|
overridevirtual |
Set the MPI communicator to be used by the adaptor.
The default communicator is a duplicate of MPI_COMMM_WORLD, giving each adaptor a unique communication space. Users wishing to override this should set the communicator before doing anything else. Derived classes should use the communicator returned by GetCommunicator.
Reimplemented from sensei::AnalysisAdaptor.
|
overridevirtual |
Set the device that the analysis should run on.
A value of DEVICE_HOST (-1) indicates that the analysis should run on the host while a value greater or equal to 0 specifies the device explicitly. The special value of DEVICE_AUTO (-2) is reserved for automatic device selection. The environment variable SENSEI_DEVICE_ID
provides the initial value. Otherwise the default is DEVICE_HOST. See ::GetDeviceId for an explanation of the automatic device selection algorithm.
Reimplemented from sensei::AnalysisAdaptor.
|
overridevirtual |
Set the first on node device to use in automatic device selection.
The environment variable SENSEI_DEVICE_START
provides the initial value. Otherwise the default is 0. See ::SetDeviceId for an explanation of automatic device selection.
Reimplemented from sensei::AnalysisAdaptor.
|
overridevirtual |
Set the number of devices to use per node.
This value can be smaller than the number of actual devices but should not exceed it. The environment variable SENSEI_DEVICES_TO_USE
provides the initial value. Otherwise the default is the number of actual devices available. See ::SetDeviceId for an explanation of automatic device selection.
Reimplemented from sensei::AnalysisAdaptor.
|
overridevirtual |
Set the number of devices to skip in automatic device selection.
The environment variable SENSEI_DEVICE_STRIDE
provides the initial value. Otherwise the default is 0. See ::SetDeviceId for an explanation of automatic device selection.
Reimplemented from sensei::AnalysisAdaptor.
|
overridevirtual |
Set the level of verbosity of console output.
The environment variable SENSEI_VERBOSE
provides the initial value if set. Otherwise the default is 0.
Reimplemented from sensei::AnalysisAdaptor.