binding region The enclosing region that determines the execution context and limits the scope of the effects of the bound region is called the binding region 34 Binding region is not defined for regions for which the binding thread set is all threads or the encountering thread,nor is it defined for regions for which the binding task set is all tasks. 6 COMMENTS: The binding region for an ordered region is the innermost enclosing 8 loop region. The binding region for a taskwait region is the innermost enclosing 10 task region. 11 The binding region for a cancel region is the innermost enclosing 12 13 comesponding to the construct-fype-clause of the cance The binding region for a cancellation point region is the 15 innermost enclosing region corresponding to the construct-type-clause of 16 the cancellation point construct. 17 which the binding thread set is the current team 18 一is the c7mmm.he bi6h innermost enclosing parallel region. 20 For regions for which the binding task set is the generating task,the 21 binding region is the region of the generating task. 22 A parallel region need not be active nor explicit to be a binding 23 region. 24 A task region need not be explicit to be a binding region. 25 A region never binds to any region outside of the innermost enclosing 26 parallel region. 20 orphaned construct 29 worksharing construct A construct that defines units of work.each of which is executed exactly once by one 9 of the threads in the team executing the construct. 31 For C/C++,worksharing constructs are for,sections,and single 33 For Fortran,worksharing constructs are do,sections.single and workshare. 34 device construct An OpenMP construct that accepts the device clause. CHAPTER 1.INTRODUCTION 7
1 binding region The enclosing region that determines the execution context and limits the scope of 2 the effects of the bound region is called the binding region. 3 Binding region is not defined for regions for which the binding thread set is all 4 threads or the encountering thread, nor is it defined for regions for which the binding 5 task set is all tasks. 6 COMMENTS: 7 The binding region for an ordered region is the innermost enclosing 8 loop region. 9 The binding region for a taskwait region is the innermost enclosing 10 task region. 11 The binding region for a cancel region is the innermost enclosing 12 region corresponding to the construct-type-clause of the cancel 13 construct. 14 The binding region for a cancellation point region is the 15 innermost enclosing region corresponding to the construct-type-clause of 16 the cancellation point construct. 17 For all other regions for which the binding thread set is the current team 18 or the binding task set is the current team tasks, the binding region is the 19 innermost enclosing parallel region. 20 For regions for which the binding task set is the generating task, the 21 binding region is the region of the generating task. 22 A parallel region need not be active nor explicit to be a binding 23 region. 24 A task region need not be explicit to be a binding region. 25 A region never binds to any region outside of the innermost enclosing 26 parallel region. 27 orphaned construct A construct that gives rise to a region for which the binding thread set is the current 28 team, but is not nested within another construct giving rise to the binding region. 29 worksharing construct A construct that defines units of work, each of which is executed exactly once by one 30 of the threads in the team executing the construct. 31 For C/C++, worksharing constructs are for, sections, and single. 32 For Fortran, worksharing constructs are do, sections, single and 33 workshare. 34 device construct An OpenMP construct that accepts the device clause. CHAPTER 1. INTRODUCTION 7
device routine A function(for C/C+and Fortran)or subroutine(for Fortran)that can be executed on 2 a target device.as part of a target region. place An unordered set of processors on a device d place list The ordered list that describes all OpenMP places available to the execution environment. place partition An ordered list that corresponds to a contiguous interval in the OpenMP place list.It describes the places currently available to the execution environment for a given parallel region. 910 place number A number that uniquely identifies a place in the place list.with zero identifying the first place in the place list,and each consecutive whole number identifying the next place in the place list. thread affinity A binding of threads to places within the current place partition. SIMD instruction A single machine instruction that can operate on multiple data elements SIMD lane A software or hardware mechanism capable of processing one data element from a SIMD instruction 6 SIMD chunk A set of iterations executed concurrently,each by a SIMD lane,by a single thread by means of SIMD instructions. 18 memory A storage resource to store and to retrieve variables accessible by OpenMP threads 28 memory space A representation of storage resources from which memory can be allocated or deallocated.More than one memory space may exist. memory allocator An OpenMP object that fulfills requests to allocate and to deallocate memory for 2 program variables from the storage resources of its associated memory space. 23 handle An opaque reference that uniquely identifies an abstraction 241.2.3 Loop Terminology 2 loop-associated An OpenMP executable directive for which the associated user code must be a loop 6 directive nest that is a structured block. 27 associated loop(s)The loop(s)controlled by a loop-associated directive. 28 COMMENT:If the loop-associated directive contains a collapse or an ordered (n)clause then it may have more than one associated loop. 品 sequential loop A loop that is not associated with any OpenMP loop-associated directive. OpenMP API-Version 5.0 November 2018
1 device routine A function (for C/C+ and Fortran) or subroutine (for Fortran) that can be executed on 2 a target device, as part of a target region. 3 place An unordered set of processors on a device. 4 place list The ordered list that describes all OpenMP places available to the execution 5 environment. 6 place partition An ordered list that corresponds to a contiguous interval in the OpenMP place list. It 7 describes the places currently available to the execution environment for a given 8 parallel region. 9 place number A number that uniquely identifies a place in the place list, with zero identifying the 10 first place in the place list, and each consecutive whole number identifying the next 11 place in the place list. 12 thread affinity A binding of threads to places within the current place partition. 13 SIMD instruction A single machine instruction that can operate on multiple data elements. 14 SIMD lane A software or hardware mechanism capable of processing one data element from a 15 SIMD instruction. 16 SIMD chunk A set of iterations executed concurrently, each by a SIMD lane, by a single thread by 17 means of SIMD instructions. 18 memory A storage resource to store and to retrieve variables accessible by OpenMP threads. 19 memory space A representation of storage resources from which memory can be allocated or 20 deallocated. More than one memory space may exist. 21 memory allocator An OpenMP object that fulfills requests to allocate and to deallocate memory for 22 program variables from the storage resources of its associated memory space. 23 handle An opaque reference that uniquely identifies an abstraction. 24 1.2.3 Loop Terminology loop-associated directive 25 An OpenMP executable directive for which the associated user code must be a loop 26 nest that is a structured block. 27 associated loop(s) The loop(s) controlled by a loop-associated directive. 28 COMMENT: If the loop-associated directive contains a collapse or an 29 ordered(n) clause then it may have more than one associated loop. 30 sequential loop A loop that is not associated with any OpenMP loop-associated directive. 8 OpenMP API – Version 5.0 November 2018
SIMD loop A loop that includes at least one SIMD chunk. 23 non-rectangular loop nest 45 doacross loop nest A loop nest that has cross-iteration dependence.An iteration is dependent on one or more lexicographically earlier iterations. 6 COMMENT:The ordered clause parameter on a worksharing-loop directive identifies the loop(s)associated with the doacross 81.2.4 Synchronization Terminology 9 barrier A point in the execution of a program encountered by a team of threads,beyond 10 which no thread in the team may execute until all threads in the team have reached the barrier and all explicit tasks generated by the team have executed to completion. If cancellation has been reo 1 dthreads my end of the canceled threads in the tem have not reached 14 cancellation An action that cancels(that is,aborts)an OpenMP region and causes executing 15 implicit or explicit tasks to proceed to the end of the canceled region. 16 cancellation point A point at which implicit and explicit tasks check if cancellation has been requested. 17 If cancellation has been observed,they perform the cancellation. 8 COMMENT:For a list of cancellation points,see Section 2.18.1 on page 26. flush An operation that a thread performs to enforce consistency between its view and 21 other threads'view of memory. flush property Properties that determine the manner in which a flush operation enforces memory consistency.These properties are: 2 strong:flushes a set of variables from the current thread's temporary view of the memory to the memory: 2 releae:orders memory operations that precede the fush before memory operations performed by a different thread with which it synchronizes; 2 .acquire:orders memory operations that follow the flush after memory operations performed by a different thread that synchronizes with it. S COMMENT:Any flush operation has one or more flush properties. 31 strong flush A flush operation that has the strong flush property CHAPTER 1.INTRODUCTION 9
1 SIMD loop A loop that includes at least one SIMD chunk. non-rectangular loop nest 2 A loop nest for which the iteration count of a loop inside the loop nest is the not same 3 for all occurrences of the loop in the loop nest. 4 doacross loop nest A loop nest that has cross-iteration dependence. An iteration is dependent on one or 5 more lexicographically earlier iterations. 6 COMMENT: The ordered clause parameter on a worksharing-loop 7 directive identifies the loop(s) associated with the doacross loop nest. 8 1.2.4 Synchronization Terminology 9 barrier A point in the execution of a program encountered by a team of threads, beyond 10 which no thread in the team may execute until all threads in the team have reached 11 the barrier and all explicit tasks generated by the team have executed to completion. 12 If cancellation has been requested, threads may proceed to the end of the canceled 13 region even if some threads in the team have not reached the barrier. 14 cancellation An action that cancels (that is, aborts) an OpenMP region and causes executing 15 implicit or explicit tasks to proceed to the end of the canceled region. 16 cancellation point A point at which implicit and explicit tasks check if cancellation has been requested. 17 If cancellation has been observed, they perform the cancellation. 18 COMMENT: For a list of cancellation points, see Section 2.18.1 on 19 page 263. 20 flush An operation that a thread performs to enforce consistency between its view and 21 other threads’ view of memory. 22 flush property Properties that determine the manner in which a flush operation enforces memory 23 consistency. These properties are: 24 • strong: flushes a set of variables from the current thread’s temporary view of the 25 memory to the memory; 26 • release: orders memory operations that precede the flush before memory 27 operations performed by a different thread with which it synchronizes; 28 • acquire: orders memory operations that follow the flush after memory operations 29 performed by a different thread that synchronizes with it. 30 COMMENT: Any flush operation has one or more flush properties. 31 strong flush A flush operation that has the strong flush property. CHAPTER 1. INTRODUCTION 9
release flush A flush operation that has the release flush property. 2 acquire flush A flush operation that has the acquire flush property 3 atomic operation 4 atomic read An atomic operation that is specified by an atomic construct on which the read 6 clause is present. atomic write An atomic operation that is specified by an atomic construct on which the write 8 clause is presen atomic update An atomic operation that is specified by an atomic construct on which the update clause is present. atomic captured An atomic operation that is specified by an atomic construct on which the update capture clause is present. 13 read-modify-write An atomic operation that reads and writes to a given storage location. COMMENT:All atomic update and atomic captured update operations are read-modify-write operations. 6 sequentially consistent An atomic construct for which the seg cst clause is specified. atomic construct 17 non-sequentially An atomic construct for which the seq_cst clause is not specified consistent atomic construct sequentially consistent An atomic operation that is specified by a sequentially consistent atomic construct. atomic operation 191.2.5 Tasking Terminology task A specific instance of executable code and its data environment that the OpenMP 21 implementation can schedule for execution by threads. 22 task region A region consisting of all code encountered during the execution of a task. 2 COMMENT:A parallel region consists of one or more implicit task regions. 第 implicit task A task generated by an implicit parallel region or generated when a parallel construct is encountered during execution. 10 OpenMP API-Version 5.0 November 2018
1 release flush A flush operation that has the release flush property. 2 acquire flush A flush operation that has the acquire flush property. 3 atomic operation An operation that is specified by an atomic construct and atomically accesses 4 and/or modifies a specific storage location. 5 atomic read An atomic operation that is specified by an atomic construct on which the read 6 clause is present. 7 atomic write An atomic operation that is specified by an atomic construct on which the write 8 clause is present. 9 atomic update An atomic operation that is specified by an atomic construct on which the 10 update clause is present. atomic captured update 11 An atomic operation that is specified by an atomic construct on which the 12 capture clause is present. 13 read-modify-write An atomic operation that reads and writes to a given storage location. 14 COMMENT: All atomic update and atomic captured update operations 15 are read-modify-write operations. sequentially consistent atomic construct 16 An atomic construct for which the seq_cst clause is specified. non-sequentially consistent atomic construct 17 An atomic construct for which the seq_cst clause is not specified sequentially consistent atomic operation 18 An atomic operation that is specified by a sequentially consistent atomic construct. 19 1.2.5 Tasking Terminology 20 task A specific instance of executable code and its data environment that the OpenMP 21 implementation can schedule for execution by threads. 22 task region A region consisting of all code encountered during the execution of a task. 23 COMMENT: A parallel region consists of one or more implicit task 24 regions. 25 implicit task A task generated by an implicit parallel region or generated when a parallel 26 construct is encountered during execution. 10 OpenMP API – Version 5.0 November 2018
1 binding implicit task The implicit task of the current thread team assigned to the encountering thread. 2 explicit task A task that is not an implicit task 3 initial task An implicit task associated with an implicit parallel region. g current task For a given thread,the task corresponding to the task region in which it is executing 56 child task A task is a child task of its generating task region.A child task region is not part of its generating task region. sibling tasks Tasks that are child tasks of the same task region descendent task A task that is the child task of a task region or of one of its descendent task regions. task completion Task completion occurs when the end of the structured block associated with the 10 construct that generated the task is reached. 112 COMMENT:Completion of the initial task that is generated when the program begins occurs at program exit. 13 task scheduling point A point during the execution of the current task region at which it can be suspended 14 to be resumed later;or the point of task completion,after which the executing thread 15 may switch to a different task region. 授 COMMENT:For a list of task scheduling points,see Section 2.10.6 on page 149 18 task switching The act of a thread switching from the execution of one task to another task. tied task A task that,when its task region is suspended,can be resumed only by the same 20 thread that suspended it.That is,the task is tied to that thread. untied task A task that.when its task region is suspended.can be resumed by any thread in the team.That is,the task is not tied to any thread. 2 undeferred task A task for which execution is not deferred with respect to its generating task region. That is,its generating task region is suspended until execution of the structured block 25 associated with the undeferred task is completed. 287 included task A task for which execution is sequentially included in the generating task region That is,an included task is undeferred and executed by the encountering thread. merged task A task for which the data environment,inclusive of ICVs,is the same as that of its 29 generating task region. 30 mergeable task A task that may be a merged task if it is an undeferred task or an included task. 31 final task A task that forces all of its child tasks to become final and included tasks CHAPTER 1.INTRODUCTION 11
1 binding implicit task The implicit task of the current thread team assigned to the encountering thread. 2 explicit task A task that is not an implicit task. 3 initial task An implicit task associated with an implicit parallel region. 4 current task For a given thread, the task corresponding to the task region in which it is executing. 5 child task A task is a child task of its generating task region. A child task region is not part of 6 its generating task region. 7 sibling tasks Tasks that are child tasks of the same task region. 8 descendent task A task that is the child task of a task region or of one of its descendent task regions. 9 task completion Task completion occurs when the end of the structured block associated with the 10 construct that generated the task is reached. 11 COMMENT: Completion of the initial task that is generated when the 12 program begins occurs at program exit. 13 task scheduling point A point during the execution of the current task region at which it can be suspended 14 to be resumed later; or the point of task completion, after which the executing thread 15 may switch to a different task region. 16 COMMENT: For a list of task scheduling points, see Section 2.10.6 on 17 page 149. 18 task switching The act of a thread switching from the execution of one task to another task. 19 tied task A task that, when its task region is suspended, can be resumed only by the same 20 thread that suspended it. That is, the task is tied to that thread. 21 untied task A task that, when its task region is suspended, can be resumed by any thread in the 22 team. That is, the task is not tied to any thread. 23 undeferred task A task for which execution is not deferred with respect to its generating task region. 24 That is, its generating task region is suspended until execution of the structured block 25 associated with the undeferred task is completed. 26 included task A task for which execution is sequentially included in the generating task region. 27 That is, an included task is undeferred and executed by the encountering thread. 28 merged task A task for which the data environment, inclusive of ICVs, is the same as that of its 29 generating task region. 30 mergeable task A task that may be a merged task if it is an undeferred task or an included task. 31 final task A task that forces all of its child tasks to become final and included tasks. CHAPTER 1. INTRODUCTION 11