
#pragma acc parallel private(a, b, c) num_gangs(6)

#pragma acc parallel async(5)

#pragma acc parallel attach(a, b, c)

#pragma acc parallel copy(a, b, c)

#pragma acc parallel copyin( x[0 : N], y[0:M] )

#pragma acc parallel copyin( readonly :m , n)

#pragma acc parallel copyin( readonly :m , n , readonly)

#pragma acc parallel copyin( readonly : readonly::m , n , readonly)

#pragma acc parallel default(present)

#pragma acc parallel deviceptr(a, b, c)

#pragma acc parallel firstprivate(a, b, c)

#pragma acc parallel no_create(a, b, c)

#pragma acc parallel num_workers(6)

#pragma acc parallel present(a, b, c)

#pragma acc parallel vector_length(512)

#pragma acc parallel wait(12, 23, 34)

#pragma acc parallel copyout(12, 23, 34)

#pragma acc parallel copyout(zero: 12, 23, 34)

#pragma acc parallel copyout(zero: 12, 23, 34, zero)

#pragma acc parallel copyout(zero: zero::12, 23, 34)

#pragma acc parallel create(12, 23, 34)

#pragma acc parallel create(zero: 12, 23, 34)

#pragma acc parallel create(zero: 12, 23, 34, zero)

#pragma acc parallel create(zero: zero::12, 23, 34)

#pragma acc parallel if(5)

#pragma acc parallel if(x==3)

#pragma acc parallel self(5)

#pragma acc parallel self(x==3)

#pragma acc parallel device_type(x, y, z)

#pragma acc parallel reduction( +: x, y, z)

#pragma acc parallel reduction( * : x, y, z)

#pragma acc parallel reduction( max : x, y, z)

#pragma acc parallel reduction( max : x, y, max)

#pragma acc parallel reduction( max : max, y, z)

#pragma acc parallel reduction( max : max::x, y, max)

#pragma acc parallel reduction( max : max::x, max, max::y)

#pragma acc parallel reduction( min : x, y, z)

#pragma acc parallel reduction( min : x, y, min)

#pragma acc parallel reduction( min : min, y, z)

#pragma acc parallel reduction( min : min::x, y, min)

#pragma acc parallel reduction( min : min::x, min, min::y)

#pragma acc parallel reduction( & : x[5], y, z)

#pragma acc parallel reduction( | : x, y, z)

#pragma acc parallel reduction( ^ : x, y, z)

#pragma acc parallel reduction( && : x, y, z)

#pragma acc parallel reduction( || : x, y, z)

#pragma acc parallel copyin( readonly : x, y, z) copyin( readonly : x, y, a) copyin( readonly : a, b, c)

#pragma acc parallel copyin( readonly : x, y, z) copyin( readonly : a, b, c) copyin( readonly : 1, 2, 3)

#pragma acc parallel copyin( x, y, z) copyin( readonly : a, b, c)

#pragma acc parallel copyin( readonly : x, y, z) copyin( a, b, c)

#pragma acc parallel copyin( x, y, z) copyin( a, b, c)

#pragma acc parallel copyout( zero : x, y, z) copyout( zero : x, y, a) copyout( zero : a, b, c)

#pragma acc parallel copyout( zero : x, y, z) copyout( zero : a, b, c) copyout( zero : 1, 2, 3)

#pragma acc parallel copyout( x, y, z) copyout( zero : a, b, c)

#pragma acc parallel copyout( zero : x, y, z) copyout( a, b, c)

#pragma acc parallel copyout( x, y, z) copyout( a, b, c)

#pragma acc parallel create( zero : x, y, z) create( zero : x, y, a) create( zero : a, b, c)

#pragma acc parallel create( zero : x, y, z) create( zero : a, b, c) create( zero : 1, 2, 3)

#pragma acc parallel create( x, y, z) create( zero : a, b, c)

#pragma acc parallel create( zero : x, y, z) create( a, b, c)

#pragma acc parallel create( x, y, z) create( a, b, c)

#pragma acc parallel reduction( + : x, y, z) reduction( + : x, y, a) reduction( + : a, b, c)

#pragma acc parallel reduction( + : x, y, z) reduction( * : a, b, c)

#pragma acc parallel reduction( max : x, y, z) reduction( min : a, b, c)

#pragma acc parallel reduction( min : x, y, z) reduction( min : a, b, c)

#pragma acc parallel reduction( min : x, y, z) reduction( && : a, b, c)

#pragma acc parallel reduction( || : x, y, z) reduction( && : a, b, c)

#pragma acc parallel reduction( && : x, y, z) reduction( && : a, b, c)

#pragma acc parallel reduction( max : x, y, max) reduction( max : x, y, min)

#pragma acc parallel copyin( readonly : x, y, z) copyout( zero : x, y, z) create( zero : x, y, z) reduction( + : x, y, z)

#pragma acc parallel async( expression1) async( expression2) async( expression3)

#pragma acc parallel async( expression1) async( expression2) async( expression1)

#pragma acc parallel async(expression1) async

#pragma acc parallel async async(expression1) async

#pragma acc parallel num_workers( expression1) num_workers( expression2) num_workers( expression3)

#pragma acc parallel num_workers( expression1) num_workers( expression2) num_workers( expression1)


#pragma acc parallel vector_length( expression1) vector_length( expression2) vector_length( expression3)

#pragma acc parallel vector_length( expression1) vector_length( expression2) vector_length( expression1)


#pragma acc parallel self( expression1) self( expression2) self( expression3)

#pragma acc parallel self( expression1) self( expression2) self( expression1)

#pragma acc parallel self(expression1) self

#pragma acc parallel self self(expression1) self

#pragma acc parallel num_gangs( expression1) num_gangs( expression2) num_gangs( expression3)

#pragma acc parallel num_gangs( expression1) num_gangs( expression2) num_gangs( expression1)

#pragma acc parallel wait wait(a, b, c) wait wait(d) wait wait(d) wait(a, c, d)
