In Modern Fortran we use the compact notation for vectors and arrays. for example :
real :: a(1000,1000,1000),b(1000,1000,1000) b=1. a=exp(-b)+b
which is generally autovectorized, and to parallelize it we use omp workshare
!$omp parallel workshare b=1. a=exp(-b) + b !$omp end parallel workshare
Is ther an alternative to openmp workshare in openacc without changing the code ( using loops)?!