I just installed the new 18.7 compiler and am testing my OpenACC Fortran code on it.
The first problem is that the following code (which parallelized in every compiler 18.4 and before) no longer does:
allocate (v_shear_t(ntm,np)) allocate (v_shear_p(nt,npm)) c !$acc enter data create(v_shear_t,v_shear_p) !$acc kernels default(present) v_shear_t=0. v_shear_p=0. !$acc end kernels
The compiler now spits out:
10237, Generating enter data create(v_shear_t(:,:),v_shear_p(:,:)) 10238, Generating implicit present(v_shear_t(:,:),v_shear_p(:,:)) 10239, Loop carried dependence due to exposed use of v_shear_t(:,:) prevents parallelization Parallelization would require privatization of array v_shear_t(:,:) Accelerator serial kernel generated Accelerator kernel generated Generating Tesla code 10239, !$acc loop seq
I REALLY do not want to have to expand all these statements into explicit loops as there are MANY of them.
Can you please submit this to the engineers for the next update?