SINGLE指导语句
形式如下:
!$OMP SINGLE [clause[[,] clause]...]
block
!$OMP END SINGLE [end_single_modifier]
SINGLE可以附带的子句如下:
PRIVATE(list)
FIRSTPRIVATE( list)
END SINGLE可以附带的子句为:
COPYPRIVATE(list)[[,]COPYPRIVATE(list)...]
NOWAIT
由SINGLE说明的任务(block)只能由一个线程完成,其余的线程则在END SINGLE处等待(当NOWAIT给出时,这些线程不用等待而直接执行下面的任务)。
一个简单的SINGLE的例子如下:
!$OMP PARALLEL DEFAULT(SHARED)
CALL WORK(X)
!$OMP BARRIER
!$OMP SINGLE
CALL OUTPUT(X)
CALL INPUT(Y)
!$OMP END SINGLE
CALL WORK(Y)
!$OMP END PARALLEL
WORKSHARE指导语句
对它的形式与用法在本文中不做介绍,请参照标准中的说明。
|