Reference Guide
2.5.0
|
Classes | |
class | FieldArg |
class | GridArg |
class | ScalarArg |
Public Member Functions | |
def | __init__ (self, iterates_over=None, index_offset=None, meta_args=None, procedure_name=None, name=None) |
def | lower_to_psyir (self) |
def | fortran_string (self) |
def | name (self) |
def | name (self, value) |
def | iterates_over (self) |
def | iterates_over (self, value) |
def | index_offset (self) |
def | index_offset (self, value) |
def | meta_args (self) |
def | procedure_name (self) |
def | procedure_name (self, value) |
Static Public Member Functions | |
def | create_from_psyir (symbol) |
def | create_from_fortran_string (fortran_string) |
Public Attributes | |
iterates_over | |
index_offset | |
procedure_name | |
name | |
Contains GOcean kernel metadata. This class supports kernel metadata creation, modification, loading from a fortran string, writing to a fortran string, raising from existing language-level PSyIR and lowering to language-level psyir. :param iterates_over: the name of the quantity that this kernel is \ intended to iterate over. :type iterates_over: Optional[str] :param index_offset: the name of the quantity that specifies the \ index offset (how different field indices relate to each \ other). :type index_offset: Optional[str] :param meta_args: a list of 'meta_arg' objects which capture the \ metadata values of the kernel arguments. :type meta_args: Optional[List[:py:class:`GridArg` | :py:class:`FieldArg` \ | :py:class:`ScalarArg`]] :param procedure_name: the name of the kernel procedure to call. :type procedure_name: Optional[str] :param name: the name of the symbol to use for the metadata in \ language-level PSyIR. :type name: Optional[str]
|
static |
Create a new instance of GOceanKernelMetadata populated with metadata stored in a fortran string. :param str fortran_string: the metadata stored as Fortran. :returns: an instance of GOceanKernelMetadata. :rtype: :py:class:`psyclone.domain.gocean.kernel.psyir.\ GOceanKernelMetadata` :raises ValueError: if the string does not contain a fortran \ derived type. :raises ParseError: if the metadata has an unexpected format.
Definition at line 237 of file psyir.py.
|
static |
Create a new instance of GOceanKernelMetadata populated with metadata from a kernel in language-level PSyIR. :param symbol: the symbol in which the metadata is stored \ in language-level PSyIR. :type symbol: :py:class:`psyclone.psyir.symbols.DataTypeSymbol` :returns: an instance of GOceanKernelMetadata. :rtype: :py:class:`psyclone.domain.gocean.kernel.psyir.\ GOceanKernelMetadata` :raises TypeError: if the symbol argument is not the expected \ type. :raises InternalError: if the datatype of the provided symbol \ is not the expected type.
Definition at line 200 of file psyir.py.
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.fortran_string | ( | self | ) |
:returns: the metadata represented by this instance as Fortran. :rtype: str
Definition at line 402 of file psyir.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.meta_args(), and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.meta_args().
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.index_offset | ( | self | ) |
:returns: the name of the quantity that specifies the index \ offset (how different field indices relate to each other). :rtype: str
Definition at line 495 of file psyir.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._index_offset, psyclone.gocean1p0.GOKern._index_offset, and psyclone.gocean1p0.GOKernelType1p0._index_offset.
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.index_offset | ( | self, | |
value | |||
) |
:param str value: set the index_offset metadata to the \ specified value.
Definition at line 504 of file psyir.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._index_offset, psyclone.gocean1p0.GOKern._index_offset, psyclone.gocean1p0.GOKernelType1p0._index_offset, and psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._validate_index_offset().
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.iterates_over | ( | self | ) |
:returns: the name of the quantity that this kernel is intended to \ iterate over. :rtype: str
Definition at line 461 of file psyir.py.
References psyclone.domain.common.psylayer.psyloop.PSyLoop._iterates_over, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._iterates_over, psyclone.parse.kernel.KernelType._iterates_over, and psyclone.psyGen.Kern._iterates_over.
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.iterates_over | ( | self, | |
value | |||
) |
:param str value: set the iterates_over metadata to the \ specified value.
Definition at line 470 of file psyir.py.
References psyclone.domain.common.psylayer.psyloop.PSyLoop._iterates_over, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._iterates_over, psyclone.parse.kernel.KernelType._iterates_over, psyclone.psyGen.Kern._iterates_over, and psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._validate_iterates_over().
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.lower_to_psyir | ( | self | ) |
Lower the metadata to language-level PSyIR. :returns: metadata as stored in language-level PSyIR. :rtype: :py:class:`psyclone.psyir.symbols.DataTypeSymbol`
Definition at line 189 of file psyir.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.fortran_string(), psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.GridArg.fortran_string(), psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.FieldArg.fortran_string(), psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.ScalarArg.fortran_string(), psyclone.domain.lfric.kernel.evaluator_targets_metadata.EvaluatorTargetsMetadata.fortran_string(), psyclone.domain.lfric.kernel.field_arg_metadata.FieldArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.field_vector_arg_metadata.FieldVectorArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.inter_grid_arg_metadata.InterGridArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.inter_grid_vector_arg_metadata.InterGridVectorArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_args_metadata.MetaArgsMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_funcs_arg_metadata.MetaFuncsArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_funcs_metadata.MetaFuncsMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_mesh_arg_metadata.MetaMeshArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_mesh_metadata.MetaMeshMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_ref_element_arg_metadata.MetaRefElementArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.meta_ref_element_metadata.MetaRefElementMetadata.fortran_string(), psyclone.domain.lfric.kernel.operates_on_metadata.OperatesOnMetadata.fortran_string(), psyclone.domain.lfric.kernel.operator_arg_metadata.OperatorArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.scalar_arg_metadata.ScalarArgMetadata.fortran_string(), psyclone.domain.lfric.kernel.shapes_metadata.ShapesMetadata.fortran_string(), 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().
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.meta_args | ( | self | ) |
:returns: a list of 'meta_arg' objects which capture the \ metadata values of the kernel arguments. :rtype: List[:py:class:`psyclone.psyir.common.kernel.\ KernelMetadataSymbol.KernelMetadataArg`]
Definition at line 513 of file psyir.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._meta_args, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._meta_args.
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.name | ( | self | ) |
:returns: the name of the symbol that will contain the \ metadata when lowering. :rtype: str
Definition at line 439 of file psyir.py.
References psyclone.domain.common.algorithm.psyir.AlgorithmInvokeCall._name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.GridArg._name, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._name, psyclone.dynamo0p3.DynFuncDescriptor03._name, psyclone.expression.NamedArg._name, psyclone.gocean1p0.GOKernelGridArgument._name, psyclone.gocean1p0.GOStencil._name, psyclone.nemo.NemoInvoke._name, psyclone.nemo.NemoPSy._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.psyGen.PSy._name, psyclone.psyGen.Invoke._name, psyclone.psyGen.Kern._name, psyclone.psyGen.Argument._name, psyclone.psyir.nodes.container.Container._name, psyclone.psyir.nodes.routine.Routine._name, and psyclone.psyir.symbols.symbol.Symbol._name.
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.name | ( | self, | |
value | |||
) |
:param str value: set the name of the symbol that will contain \ the metadata when lowering. :raises ValueError: if the name is not valid.
Definition at line 449 of file psyir.py.
References psyclone.domain.common.algorithm.psyir.AlgorithmInvokeCall._name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._name, psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.GridArg._name, psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._name, psyclone.dynamo0p3.DynFuncDescriptor03._name, psyclone.expression.NamedArg._name, psyclone.gocean1p0.GOKernelGridArgument._name, psyclone.gocean1p0.GOStencil._name, psyclone.nemo.NemoInvoke._name, psyclone.nemo.NemoPSy._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.psyGen.PSy._name, psyclone.psyGen.Invoke._name, psyclone.psyGen.Kern._name, psyclone.psyGen.Argument._name, psyclone.psyir.nodes.container.Container._name, psyclone.psyir.nodes.routine.Routine._name, and psyclone.psyir.symbols.symbol.Symbol._name.
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.procedure_name | ( | self | ) |
:returns: the kernel procedure name specified by the metadata. :rtype: str
Definition at line 523 of file psyir.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._procedure_name, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._procedure_name.
def psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata.procedure_name | ( | self, | |
value | |||
) |
:param str value: set the procedure name specified in the metadata to the specified value. :raises ValueError: if the supplied procedure name is invalid.
Definition at line 531 of file psyir.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._procedure_name, and psyclone.domain.lfric.kernel.lfric_kernel_metadata.LFRicKernelMetadata._procedure_name.