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 theSUBROUTINE
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 run-time system 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 run-time system 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 run-time 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, aloop
construct or when calling a routine annotated with atask
declarative directive.- task scheduling point¶
The different points in wich the run-time system may suspend the execution of the current task and execute a different one.