Reference Guide
2.5.0
|
Public Member Functions | |
def | __init__ (self, call, parent=None) |
def | reference_accesses (self, var_accesses) |
def | local_vars (self) |
def | index_offset (self) |
def | get_kernel_schedule (self) |
Public Member Functions inherited from psyclone.psyGen.CodedKern | |
def | __init__ (self, KernelArguments, call, parent=None, check=True) |
def | opencl_options (self) |
def | set_opencl_options (self, options) |
def | __str__ (self) |
def | module_name (self) |
def | dag_name (self) |
def | module_inline (self) |
def | module_inline (self, value) |
def | node_str (self, colour=True) |
def | lower_to_language_level (self) |
def | incremented_arg (self) |
def | ast (self) |
def | rename_and_write (self) |
def | modified (self) |
def | modified (self, value) |
Public Member Functions inherited from psyclone.psyGen.Kern | |
def | __init__ (self, parent, call, name, ArgumentsClass, check=True) |
def | args (self) |
def | is_reduction (self) |
def | reduction_arg (self) |
def | reprod_reduction (self) |
def | local_reduction_name (self) |
def | zero_reduction_variable (self, parent, position=None) |
def | reduction_sum_loop (self, parent) |
def | arg_descriptors (self) |
def | arg_descriptors (self, obj) |
def | arguments (self) |
def | name (self) |
def | name (self, value) |
def | is_coloured (self) |
def | iterates_over (self) |
def | gen_code (self, parent) |
Additional Inherited Members | |
Public Attributes inherited from psyclone.psyGen.CodedKern | |
arg_descriptors | |
modified | |
name | |
Stores information about GOcean Kernels as specified by the Kernel metadata. Uses this information to generate appropriate PSy layer code for the Kernel instance. Specialises the gen_code method to create the appropriate GOcean specific kernel call. :param call: information on the way in which this kernel is called \ from the Algorithm layer. :type call: :py:class:`psyclone.parse.algorithm.KernelCall` :param parent: optional node where the kernel call will be inserted. :type parent: :py:class:`psyclone.psyir.nodes.Node`
Definition at line 1071 of file gocean1p0.py.
def psyclone.gocean1p0.GOKern.get_kernel_schedule | ( | self | ) |
:returns: a schedule representing the GOcean kernel code. :rtype: :py:class:`psyclone.gocean1p0.GOKernelSchedule` :raises GenerationError: if there is a problem raising the language- \ level PSyIR of this kernel to GOcean PSyIR.
Reimplemented from psyclone.psyGen.CodedKern.
Definition at line 1228 of file gocean1p0.py.
References psyclone.domain.lfric.lfric_kern.LFRicKern._kern_schedule, psyclone.gocean1p0.GOKern._kern_schedule, psyclone.psyGen.CodedKern._kern_schedule, psyclone.domain.gocean.transformations.raise_psyir_2_gocean_kern_trans.RaisePSyIR2GOceanKernTrans._metadata_name, psyclone.gocean1p0.GOKern._metadata_name, psyclone.parse.kernel.KernelProcedure.ast(), psyclone.psyGen.CodedKern.ast(), psyclone.psyir.nodes.codeblock.CodeBlock.ast, psyclone.psyir.nodes.node.Node.ast(), 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.gocean1p0.GOKern.index_offset | ( | self | ) |
The grid index-offset convention that this kernel expects
Definition at line 1224 of file gocean1p0.py.
References psyclone.domain.gocean.kernel.psyir.GOceanKernelMetadata._index_offset, psyclone.gocean1p0.GOKern._index_offset, and psyclone.gocean1p0.GOKernelType1p0._index_offset.
def psyclone.gocean1p0.GOKern.local_vars | ( | self | ) |
Return a list of the variable (names) that are local to this loop (and must therefore be e.g. threadprivate if doing OpenMP)
Reimplemented from psyclone.psyGen.Kern.
Definition at line 1216 of file gocean1p0.py.
def psyclone.gocean1p0.GOKern.reference_accesses | ( | self, | |
var_accesses | |||
) |
Get all variable access information. All accesses are marked according to the kernel metadata. :param var_accesses: VariablesAccessInfo instance that stores the\ information about variable accesses. :type var_accesses: \ :py:class:`psyclone.core.VariablesAccessInfo`
Reimplemented from psyclone.psyGen.Kern.
Definition at line 1170 of file gocean1p0.py.
References psyclone.domain.lfric.lfric_kern.LFRicKern._arguments, psyclone.psyGen.Kern._arguments, psyclone.psyGen.InlinedKern._arguments, psyclone.gocean1p0.GOKern._record_stencil_accesses(), psyclone.psyir.nodes.node.Node.ancestor(), psyclone.psyGen.Kern.arguments(), and psyclone.psyir.nodes.call.Call.arguments().