Reference Guide
2.5.0
|
Public Member Functions | |
def | __init__ (self, arg, arg_info, call) |
def | psyir_expression (self) |
def | infer_datatype (self) |
def | intrinsic_type (self) |
def | argument_type (self) |
def | function_space (self) |
def | is_scalar (self) |
Public Member Functions inherited from psyclone.psyGen.KernelArgument | |
def | space (self) |
def | stencil (self) |
def | metadata_index (self) |
Public Member Functions inherited from psyclone.psyGen.Argument | |
def | __str__ (self) |
def | name (self) |
def | text (self) |
def | form (self) |
def | is_literal (self) |
def | access (self) |
def | access (self, value) |
def | precision (self) |
def | data_type (self) |
def | module_name (self) |
def | call (self) |
def | call (self, value) |
def | backward_dependence (self) |
def | forward_write_dependencies (self, ignore_halos=False) |
def | backward_write_dependencies (self, ignore_halos=False) |
def | forward_dependence (self) |
def | forward_read_dependencies (self) |
Public Attributes | |
argument_type | |
Provides information about individual GOcean kernel call arguments as specified by the kernel argument metadata.
Definition at line 1434 of file gocean1p0.py.
def psyclone.gocean1p0.GOKernelArgument.argument_type | ( | self | ) |
Return the type of this kernel argument - whether it is a field, a scalar or a grid_property (to be supplied by the PSy layer). If it has no type it defaults to scalar. :returns: the type of the argument. :rtype: str
Reimplemented from psyclone.psyGen.Argument.
Definition at line 1535 of file gocean1p0.py.
References psyclone.gocean1p0.GOKernelArgument._arg, psyclone.psyGen.DataAccess._arg, and psyclone.psyGen.KernelArgument._arg.
def psyclone.gocean1p0.GOKernelArgument.function_space | ( | self | ) |
Returns the expected finite difference space for this argument as specified by the kernel argument metadata.
Definition at line 1550 of file gocean1p0.py.
References psyclone.gocean1p0.GOKernelArgument._arg, psyclone.psyGen.DataAccess._arg, and psyclone.psyGen.KernelArgument._arg.
def psyclone.gocean1p0.GOKernelArgument.infer_datatype | ( | self | ) |
Infer the datatype of this argument using the API rules. :returns: the datatype of this argument. :rtype: :py:class::`psyclone.psyir.symbols.DataType` :raises InternalError: if this Argument type is not "field" or \ "scalar". :raises InternalError: if this argument is scalar but its space \ property is not 'go_r_scalar' or 'go_i_scalar'.
Reimplemented from psyclone.psyGen.Argument.
Definition at line 1481 of file gocean1p0.py.
References psyclone.f2pygen.CallGen._call, psyclone.gocean1p0.GOKernelGridArgument._call, psyclone.psyGen.DataAccess._call, psyclone.psyGen.Argument._call, psyclone.dynamo0p3.DynKernelArgument.argument_type, psyclone.gocean1p0.GOKernelArgument.argument_type, psyclone.gocean1p0.GOKernelGridArgument.argument_type(), psyclone.parse.kernel.Descriptor.argument_type(), psyclone.psyGen.Argument.argument_type(), and psyclone.psyGen.KernelArgument.space().
def psyclone.gocean1p0.GOKernelArgument.intrinsic_type | ( | self | ) |
:returns: the intrinsic type of this argument. If it's not a scalar \ integer or real it will return an empty string. :rtype: str
Reimplemented from psyclone.psyGen.Argument.
Definition at line 1520 of file gocean1p0.py.
References psyclone.dynamo0p3.DynKernelArgument.argument_type, psyclone.gocean1p0.GOKernelArgument.argument_type, psyclone.gocean1p0.GOKernelGridArgument.argument_type(), psyclone.parse.kernel.Descriptor.argument_type(), psyclone.psyGen.Argument.argument_type(), and psyclone.psyGen.KernelArgument.space().
def psyclone.gocean1p0.GOKernelArgument.is_scalar | ( | self | ) |
:return: whether this variable is a scalar variable or not. :rtype: bool
Reimplemented from psyclone.psyGen.KernelArgument.
Definition at line 1556 of file gocean1p0.py.
References psyclone.dynamo0p3.DynKernelArgument.argument_type, psyclone.gocean1p0.GOKernelArgument.argument_type, psyclone.gocean1p0.GOKernelGridArgument.argument_type(), psyclone.parse.kernel.Descriptor.argument_type(), and psyclone.psyGen.Argument.argument_type().
def psyclone.gocean1p0.GOKernelArgument.psyir_expression | ( | self | ) |
:returns: the PSyIR expression represented by this Argument. :rtype: :py:class:`psyclone.psyir.nodes.Node` :raises InternalError: if this Argument type is not "field" or \ "scalar".
Reimplemented from psyclone.psyGen.Argument.
Definition at line 1445 of file gocean1p0.py.
References psyclone.f2pygen.CallGen._call, psyclone.gocean1p0.GOKernelGridArgument._call, psyclone.psyGen.DataAccess._call, psyclone.psyGen.Argument._call, psyclone.dynamo0p3.DynKernelArgument.argument_type, psyclone.gocean1p0.GOKernelArgument.argument_type, psyclone.gocean1p0.GOKernelGridArgument.argument_type(), psyclone.parse.kernel.Descriptor.argument_type(), psyclone.psyGen.Argument.argument_type(), psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.GridArg.name, psyclone.domain.gocean.transformations.gocean_const_loop_bounds_trans.GOConstLoopBoundsTrans.name(), psyclone.domain.gocean.transformations.gocean_move_iteration_boundaries_inside_kernel_trans.GOMoveIterationBoundariesInsideKernelTrans.name(), psyclone.domain.gocean.transformations.gocean_opencl_trans.GOOpenCLTrans.name(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.name, psyclone.domain.nemo.transformations.create_nemo_invoke_schedule_trans.CreateNemoInvokeScheduleTrans.name(), psyclone.domain.nemo.transformations.create_nemo_psy_trans.CreateNemoPSyTrans.name(), psyclone.domain.nemo.transformations.nemo_allarrayrange2loop_trans.NemoAllArrayRange2LoopTrans.name(), psyclone.domain.nemo.transformations.nemo_arrayrange2loop_trans.NemoArrayRange2LoopTrans.name(), psyclone.domain.nemo.transformations.nemo_outerarrayrange2loop_trans.NemoOuterArrayRange2LoopTrans.name(), psyclone.dynamo0p3.DynamoPSy.name(), psyclone.expression.FunctionVar.name, psyclone.expression.NamedArg.name(), psyclone.gocean1p0.GOKernelGridArgument.name(), psyclone.gocean1p0.GOStencil.name(), psyclone.parse.algorithm.FileInfo.name(), psyclone.parse.algorithm.InvokeCall.name(), psyclone.parse.kernel.KernelProcedure.name(), psyclone.parse.kernel.KernelType.name(), psyclone.parse.module_info.ModuleInfo.name(), psyclone.psyad.transformations.assignment_trans.AssignmentTrans.name(), psyclone.psyGen.PSy.name(), psyclone.psyGen.Invoke.name(), psyclone.psyGen.Kern.name(), psyclone.psyGen.CodedKern.name, psyclone.psyGen.Argument.name(), psyclone.psyGen.Transformation.name(), psyclone.psyGen.DummyTransformation.name(), psyclone.psyir.nodes.container.Container.name, psyclone.psyir.nodes.member.Member.name, psyclone.psyir.nodes.reference.Reference.name(), psyclone.psyir.nodes.routine.Routine.name, psyclone.psyir.symbols.symbol.Symbol.name(), psyclone.psyir.transformations.allarrayaccess2loop_trans.AllArrayAccess2LoopTrans.name(), psyclone.psyir.transformations.arrayrange2loop_trans.ArrayRange2LoopTrans.name(), psyclone.psyir.transformations.fold_conditional_return_expressions_trans.FoldConditionalReturnExpressionsTrans.name(), psyclone.psyir.transformations.loop_trans.LoopTrans.name(), psyclone.psyir.transformations.omp_task_trans.OMPTaskTrans.name(), psyclone.psyir.transformations.psy_data_trans.PSyDataTrans.name(), psyclone.transformations.OMPSingleTrans.name(), psyclone.transformations.OMPMasterTrans.name(), psyclone.transformations.OMPParallelTrans.name(), psyclone.transformations.MoveTrans.name(), psyclone.transformations.Dynamo0p3AsyncHaloExchangeTrans.name(), psyclone.transformations.Dynamo0p3KernelConstTrans.name(), psyclone.transformations.ACCEnterDataTrans.name(), psyclone.transformations.ACCRoutineTrans.name(), psyclone.transformations.ACCKernelsTrans.name(), psyclone.transformations.ACCDataTrans.name(), and psyclone.transformations.KernelImportsToArguments.name().