Noacc flag

Hello,

I have a do loop that is surrounded by !$omp parallel do and !$acc parallel loop. When I try to compile with -mp -noacc -stdpar=multicore the code runs into a compile error where it states that “!$omp parallel do” must be followed by a do loop. Is there a flag or fix for this?

Best,
Miko

Hi Miko,

In order to support some of the underlying features of Fortran stdpar, such as device routines, we do need to enable OpenACC. I put in a request, TPR #32401, asking for engineering to explore ways to disable at least recognition of the compute regions. Though it may be difficult.

The work around and possible long term solution would be to use macros to create alternate source paths. For example:

#ifdef _OPENMP
!$omp parallel do
#else
!$acc parallel loop
#endif
      do k=2,npm-1
        do i=1,nblk
          fn(i) = fn(i) + flux_t(i,  2,k)
        enddo
      enddo

-Mat

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.