momemta::ComputationGraph Class Reference

#include <Graph.h>

Detailed Description

Abstraction of the computation graph

The computation graph is defined as the list of operation to perform to compute the final weight. Each operations are implemented by modules, symbolized as Vertex in the graph. Connections between modules, symbolized as Edges, as used as constrains to deduce in which orders the operations must be done.

If Loopers are present in the configuration, subgraph are also created, one for each looper. These subgraphs are built using the modules present in the execution path of the loopers, in the same way the main graph is built. This means that any modules present in a looper executation path won't be present in the main graph, but will be present in a subgraph. These subgraph are directly managed by the loopers themselves.

Definition at line 57 of file Graph.h.

Public Member Functions

void initialize (PoolPtr pool)
 Create and configure the modules making the computation graph. Modules will use pool to allocate their memory. More...
 
void configure ()
 Call Module::configure() for each module of the computation graph.
 
void beginIntegration ()
 Call Module::beginIntegration() for each module of the computation graph.
 
Module::Status execute ()
 Execute each module of the computation graph.
 
void endIntegration ()
 Call Module::endIntegration() for each module of the computation graph.
 
void finish ()
 Call Module::finish() for each module of the computation graph.
 
void setNDimensions (size_t n)
 Set the number of integration dimensions needed by the computation graph. More...
 
size_t getNDimensions () const
 

Member Function Documentation

◆ getNDimensions()

size_t momemta::ComputationGraph::getNDimensions ( ) const
Returns
The number of integration dimensions needed by the computation graph

Definition at line 290 of file Graph.cc.

◆ initialize()

void momemta::ComputationGraph::initialize ( PoolPtr  pool)

Create and configure the modules making the computation graph. Modules will use pool to allocate their memory.

Parameters
poolThe memory pool used by the modules to allocate their memory

Definition at line 187 of file Graph.cc.

◆ setNDimensions()

void momemta::ComputationGraph::setNDimensions ( size_t  n)

Set the number of integration dimensions needed by the computation graph.

Parameters
nNumber of dimensions

Definition at line 286 of file Graph.cc.


The documentation for this class was generated from the following files: