Reference Guide  2.5.0
psyclone.dynamo0p3.HaloReadAccess Class Reference
Inheritance diagram for psyclone.dynamo0p3.HaloReadAccess:
Collaboration diagram for psyclone.dynamo0p3.HaloReadAccess:

Public Member Functions

def __init__ (self, field, sym_table)
 
def needs_clean_outer (self)
 
def stencil_type (self)
 
- Public Member Functions inherited from psyclone.dynamo0p3.HaloDepth
def __init__ (self, sym_table)
 
def annexed_only (self)
 
def max_depth (self)
 
def max_depth_m1 (self)
 
def var_depth (self)
 
def literal_depth (self)
 
def literal_depth (self, value)
 
def set_by_value (self, max_depth, var_depth, literal_depth, annexed_only, max_depth_m1)
 
def __str__ (self)
 
def psyir_expression (self)
 

Detailed Description

Determines how much of a field's halo is read (the halo depth) and
additionally the access pattern (the stencil) when a field is
accessed in a particular kernel within a particular loop nest.

:param field: the field for which we want information.
:type field: :py:class:`psyclone.dynamo0p3.DynKernelArgument`
:param sym_table: the symbol table associated with the scoping region \
                  that contains this halo access.
:type sym_table: :py:class:`psyclone.psyir.symbols.SymbolTable`

Definition at line 4722 of file dynamo0p3.py.

Member Function Documentation

◆ needs_clean_outer()

def psyclone.dynamo0p3.HaloReadAccess.needs_clean_outer (   self)
Returns False if the reader has a gh_inc access and accesses the
halo. Otherwise returns True.  Indicates that the outer level
of halo that has been read does not need to be clean (although
any annexed dofs do).

:return: Returns False if the outer layer of halo that is read \
does not need to be clean and True otherwise.
:rtype: bool

Definition at line 4741 of file dynamo0p3.py.

4741  def needs_clean_outer(self):
4742  '''Returns False if the reader has a gh_inc access and accesses the
4743  halo. Otherwise returns True. Indicates that the outer level
4744  of halo that has been read does not need to be clean (although
4745  any annexed dofs do).
4746 
4747  :return: Returns False if the outer layer of halo that is read \
4748  does not need to be clean and True otherwise.
4749  :rtype: bool
4750 
4751  '''
4752  return self._needs_clean_outer
4753 

References psyclone.dynamo0p3.HaloReadAccess._needs_clean_outer.

◆ stencil_type()

def psyclone.dynamo0p3.HaloReadAccess.stencil_type (   self)
Returns the type of stencil access used by the field(s) in the halo
if one exists. If redundant computation (accessing the full
halo) is combined with a stencil access (potentially accessing
a subset of the halo) then the access is assumed to be full
access (region) for all depths.

:returns: the type of stencil access used or None if there is no \
          stencil.
:rtype: str

Definition at line 4755 of file dynamo0p3.py.

4755  def stencil_type(self):
4756  '''Returns the type of stencil access used by the field(s) in the halo
4757  if one exists. If redundant computation (accessing the full
4758  halo) is combined with a stencil access (potentially accessing
4759  a subset of the halo) then the access is assumed to be full
4760  access (region) for all depths.
4761 
4762  :returns: the type of stencil access used or None if there is no \
4763  stencil.
4764  :rtype: str
4765 
4766  '''
4767  return self._stencil_type
4768 

References psyclone.dynamo0p3.HaloDepth._annexed_only, psyclone.dynamo0p3.HaloReadAccess._annexed_only, psyclone.dynamo0p3.HaloDepth._literal_depth, psyclone.dynamo0p3.HaloReadAccess._literal_depth, psyclone.dynamo0p3.HaloDepth._max_depth, psyclone.dynamo0p3.HaloReadAccess._max_depth, psyclone.dynamo0p3.HaloReadAccess._needs_clean_outer, psyclone.dynamo0p3.HaloReadAccess._stencil_type, psyclone.dynamo0p3.HaloDepth._var_depth, and psyclone.dynamo0p3.HaloReadAccess._var_depth.


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