Next: Pragma Acc_Loop, Previous: Pragma Abstract_State, Up: Implementation Defined Pragmas [Contents][Index]
Syntax:
pragma Acc_Parallel [( ACC_PARALLEL_CLAUSE [, ACC_PARALLEL_CLAUSE... ])];
ACC_PARALLEL_CLAUSE ::=
Acc_If => boolean_EXPRESSION
| Acc_Private => IDENTIFIERS
| Async => integer_EXPRESSION
| Copy => IDENTIFIERS
| Copy_In => IDENTIFIERS
| Copy_Out => IDENTIFIERS
| Create => IDENTIFIERS
| Default => None
| Device_Ptr => IDENTIFIERS
| First_Private => IDENTIFIERS
| Num_Gangs => integer_EXPRESSION
| Num_Workers => integer_EXPRESSION
| Present => IDENTIFIERS
| Reduction => (REDUCTION_RECORD)
| Vector_Length => integer_EXPRESSION
| Wait => INTEGERS
REDUCTION_RECORD ::=
"+" => IDENTIFIERS
| "*" => IDENTIFIERS
| "min" => IDENTIFIERS
| "max" => IDENTIFIERS
| "or" => IDENTIFIERS
| "and" => IDENTIFIERS
IDENTIFIERS ::=
| IDENTIFIER
| (IDENTIFIER, IDENTIFIERS)
INTEGERS ::=
| integer_EXPRESSION
| (integer_EXPRESSION, INTEGERS)
Requires the -fopenacc flag.
Equivalent to the parallel directive of the OpenAcc standard. This pragma
should be placed in loops. It offloads the content of the loop to an
accelerator device.
For more information about the effect of the clauses, see the OpenAcc specification.