Peano
Loading...
Searching...
No Matches
peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect Class Reference

Represents Peano's MPI and storage aspect injected into a DaStGen model. More...

Inheritance diagram for peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect:
Collaboration diagram for peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect:

Public Member Functions

 __init__ (self, dof_association_)
 Create the aspect.
 
 __str__ (self)
 
 get_attributes (self)
 
 get_include (self)
 
 get_method_declarations (self, full_qualified_name)
 
 get_implementation (self, full_qualified_name)
 
- Public Member Functions inherited from dastgen2.aspects.Aspect.Aspect
 set_model (self, data_model)
 Inform aspect about model.
 

Data Fields

 dof_association
 
 merge_implementation
 
 receive_predicate
 
 send_predicate
 
 load_store_compute_flag
 
 includes
 
 implementation_file_includes
 

Additional Inherited Members

- Protected Attributes inherited from dastgen2.aspects.Aspect.Aspect
 _data_model
 

Detailed Description

Represents Peano's MPI and storage aspect injected into a DaStGen model.

This is an aspect to a DaStGen object, i.e. something that's added to a data model to augment it with some behaviour. The realisation of this aspect is manifold yet all serves the purpose to make data fit for MPI:

  • The aspect ensures that we include the right headers.
  • The aspect ensures that the generated has the right signature which in turn depends on the fact to which grid entity the type is associated to
  • The aspect lets you embed a data merge operation into the generated data.

The aspect also determines how and if we store data or not in Peano. Therefore, it covers more than solely MPI. Use the store and load attribute to control these predicates. Please study Localisation of data and data exchange for further documentation.

Usage

The instance is to be added to a DaStGen2 model through add_aspect().

If you want to inject a particular merge code, just set the internal string self.merge_implementation.

Attributes

dof_association: DoFAssociation Clarifies which grid entity the underlying datatype is associated to.

Definition at line 9 of file MPIAndStorageAspect.py.

Constructor & Destructor Documentation

◆ __init__()

peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.__init__ ( self,
dof_association_ )

Create the aspect.

Parameters
includesC++ expression Typically a full-blown set of include statements, but it can also hold preprocessor macros or similar.
implementation_file_includesC++ expression If you add includes to the includes attribute, they are embedded into the header. This can lead to cyclic dependencies. If you want the includes only in the implementation file, use this attribute instead.

Reimplemented from dastgen2.aspects.Aspect.Aspect.

Definition at line 51 of file MPIAndStorageAspect.py.

References peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.__init__().

Referenced by peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.__init__().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ __str__()

◆ get_attributes()

peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.get_attributes ( self)

Reimplemented from dastgen2.aspects.Aspect.Aspect.

Definition at line 101 of file MPIAndStorageAspect.py.

◆ get_implementation()

◆ get_include()

◆ get_method_declarations()

peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.get_method_declarations ( self,
full_qualified_name )

Field Documentation

◆ dof_association

◆ implementation_file_includes

peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.implementation_file_includes

Definition at line 73 of file MPIAndStorageAspect.py.

◆ includes

peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.includes

◆ load_store_compute_flag

◆ merge_implementation

peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.merge_implementation

◆ receive_predicate

peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.receive_predicate

◆ send_predicate

peano4.dastgen2.MPIAndStorageAspect.MPIAndStorageAspect.send_predicate

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