1.6. Glossary of termsΒΆ

ancestor tasks
The set of tasks formed by your parent task and all of its ancestor tasks.
base language
The base language is the programming language in which the program is written.
child task
A task is a child of the task which encounters its task generating code.
construct
A construct is an executable directive and its associated statement. Unlike the OpenMP terminology, we will explicitly refer to the lexical scope of a constructor or the dynamic extent of a construct when needed.
data environment
The data environment is formed by the set of variables associated with a given task.
declarative directive
A directive that annotates a declarative statement.
dependence
Is the relationship existing between a predecessor task and one of its successor tasks.
descendant tasks
The descendant tasks of a given task is the set of all its child tasks and the descendant tasks of them.
directive

In C/C++ a #pragma preprocessor entity.

In Fortran a comment which follows a given syntax.

dynamic extent
The dynamic extent is the interval between establishment of the execution entity and its explicit disestablishment. Dynamic extent always obey to a stack-like discipline while running the code and it includes any code in called routines as well as any implicit code introduced by the OmpSs-2 implementation.
executable directive
A directive that annotates an executable statement.
expression
Is a combination of one or more data components and operators that the base program language may understand.
function task

In C, an task declared by a task directive at file-scope that comes before a declaration that declares a single function or comes before a function-definition. In both cases the declarator should include a parameter type list.

In C++, a task declared by a task directive at namespace-scope or class-scope that comes before a function-definition or comes before a declaration or member-declaration that declares a single function.

In Fortran, a task declared by a task directive that comes before a the SUBROUTINE statement of an external-subprogram, internal-subprogram or an interface-body.

inline task

In C/C++ an explicit task created by a task directive in a statement inside a function-definition.

In Fortran, an explicit task created by a task directive in the executable part of a program unit.

lexical scope
The lexical scope is the portion of code which is lexically (i.e. textually) contained within the establishing construct including any implicit code lexically introduced by the OmpSs-2 implementation. The lexical scope does not include any code in called routines.
outline tasks
An outlined task is also know as a function tasks.
predecessor task
A task becomes predecessor of another task(s) when there are dependence(s) between this task and the other ones (i.e. its successor tasks. That is, there is a restriction in the order the runtime must execute them: all predecessor tasks must complete before a successor task can be executed.
parent task
The task that encountered a task generating code is the parent task of the new created task(s).
ready task pool
Is the set of tasks ready to be executed (i.e. they are not blocked by any condition).
structured block
An executable statement with a single entry point (at the top) and a single exit point (at the bottom).
successor task
A task becomes successor of another task(s) when there are dependence(s) between these tasks (i.e. its predecessors tasks) and itself. That is, there is a restriction in the order the runtime must execute them: all the predecessor task must complete before a successor task can be executed.
task
A task is the minimum execution entity that can be managed independently by the runtime scheduler (although a single task may be executed at different phases according with its task scheduling points). Tasks in OmpSs-2 can be created by any task generating code.
task dependency graph
The set of tasks and its relationships (successor / predecessor) with respect the correspondant scheduling restrictions.
task generating code
The code which execution create a new task. In OmpSs-2 it can occurs when encountering a task construct, a loop construct or when calling a routine annotated with a task declarative directive.
task scheduling point
The different points in wich the runtime may suspend the execution of the current task and execute a different one.