Reference Guide
2.5.0
|
Public Member Functions | |
def | __init__ (self, call, parent_call, check=True) |
def | psyir_expressions (self) |
def | find_grid_access (self) |
def | dofs (self) |
def | acc_args (self) |
def | fields (self) |
def | scalars (self) |
def | append (self, name, argument_type) |
Public Member Functions inherited from psyclone.psyGen.Arguments | |
def | __init__ (self, parent_call) |
def | names (self) |
def | args (self) |
def | iteration_space_arg (self) |
Provides information about GOcean kernel-call arguments collectively, as specified by the kernel argument metadata. This class ensures that initialisation is performed correctly. It also overrides the iteration_space_arg method to supply a GOcean-specific dictionary for the mapping of argument-access types. :param call: the kernel meta-data for which to extract argument info. :type call: :py:class:`psyclone.parse.KernelCall` :param parent_call: the kernel-call object. :type parent_call: :py:class:`psyclone.gocean1p0.GOKern` :param bool check: whether to check for consistency between the \ kernel metadata and the algorithm layer. Defaults to \ True. Currently does nothing in this API.
Definition at line 1263 of file gocean1p0.py.
def psyclone.gocean1p0.GOKernelArguments.acc_args | ( | self | ) |
Provide the list of references (both objects and arrays) that must be present on an OpenACC device before the kernel associated with this Arguments object may be launched. :returns: list of (Fortran) quantities :rtype: list of str
Reimplemented from psyclone.psyGen.Arguments.
Definition at line 1345 of file gocean1p0.py.
References psyclone.dynamo0p3.DynKernelArguments._args, psyclone.gocean1p0.GOKernelArguments._args, psyclone.parse.algorithm.ParsedCall._args, psyclone.psyGen.Arguments._args, and psyclone.gocean1p0.GOKernelArguments.find_grid_access().
def psyclone.gocean1p0.GOKernelArguments.append | ( | self, | |
name, | |||
argument_type | |||
) |
Create and append a GOKernelArgument to the Argument list. :param str name: name of the appended argument. :param str argument_type: type of the appended argument. :raises TypeError: if the given name is not a string.
Reimplemented from psyclone.psyGen.Arguments.
Definition at line 1407 of file gocean1p0.py.
References psyclone.psyGen.Arguments._parent_call, psyclone.expression.FunctionVar.args, psyclone.f2pygen.SubroutineGen.args(), psyclone.parse.algorithm.ParsedCall.args(), psyclone.psyGen.GlobalSum.args(), psyclone.psyGen.HaloExchange.args(), psyclone.psyGen.Kern.args(), psyclone.psyGen.Arguments.args(), and psyclone.psyir.nodes.node.Node.args().
def psyclone.gocean1p0.GOKernelArguments.dofs | ( | self | ) |
Currently required for invoke base class although this makes no sense for GOcean. Need to refactor the Invoke base class and remove the need for this property (#279).
Definition at line 1338 of file gocean1p0.py.
References psyclone.dynamo0p3.DynKernelArguments._dofs, psyclone.gocean1p0.GOKernelArguments._dofs, and psyclone.psyGen.Invoke._dofs.
def psyclone.gocean1p0.GOKernelArguments.fields | ( | self | ) |
Provides the list of names of field objects that are required by the kernel associated with this Arguments object. :returns: List of names of (Fortran) field objects. :rtype: list of str
Definition at line 1383 of file gocean1p0.py.
References psyclone.dynamo0p3.DynKernelArguments._args, psyclone.gocean1p0.GOKernelArguments._args, psyclone.parse.algorithm.ParsedCall._args, and psyclone.psyGen.Arguments._args.
def psyclone.gocean1p0.GOKernelArguments.find_grid_access | ( | self | ) |
Determine the best kernel argument from which to get properties of the grid. For this, an argument must be a field (i.e. not a scalar) and must be supplied by the algorithm layer (i.e. not a grid property). If possible it should also be a field that is read-only as otherwise compilers can get confused about data dependencies and refuse to SIMD vectorise. :returns: the argument object from which to get grid properties. :rtype: :py:class:`psyclone.gocean1p0.GOKernelArgument` or None
Definition at line 1315 of file gocean1p0.py.
References psyclone.dynamo0p3.DynKernelArguments._args, psyclone.gocean1p0.GOKernelArguments._args, psyclone.parse.algorithm.ParsedCall._args, and psyclone.psyGen.Arguments._args.
def psyclone.gocean1p0.GOKernelArguments.psyir_expressions | ( | self | ) |
:returns: the PSyIR expressions representing this Argument list. :rtype: list of :py:class:`psyclone.psyir.nodes.Node`
Reimplemented from psyclone.psyGen.Arguments.
Definition at line 1303 of file gocean1p0.py.
References psyclone.psyGen.Arguments._parent_call, psyclone.expression.FunctionVar.args, psyclone.f2pygen.SubroutineGen.args(), psyclone.parse.algorithm.ParsedCall.args(), psyclone.psyGen.GlobalSum.args(), psyclone.psyGen.HaloExchange.args(), psyclone.psyGen.Kern.args(), psyclone.psyGen.Arguments.args(), and psyclone.psyir.nodes.node.Node.args().
def psyclone.gocean1p0.GOKernelArguments.scalars | ( | self | ) |
Provides the list of names of scalar arguments required by the kernel associated with this Arguments object. If there are none then the returned list is empty. :returns: A list of the names of scalar arguments in this object. :rtype: list of str
Reimplemented from psyclone.psyGen.Arguments.
Definition at line 1395 of file gocean1p0.py.
References psyclone.dynamo0p3.DynKernelArguments._args, psyclone.gocean1p0.GOKernelArguments._args, psyclone.parse.algorithm.ParsedCall._args, and psyclone.psyGen.Arguments._args.