This is the code .
CALL OMP_SET_NUM_THREADS(2)
!$omp parallel num_threads(acc_get_num_devices(acc_device_nvidia))
!$omp sections
!$omp section
!$acc data copyout(T) copyin(T_o)
call acc_set_device_num(1, acc_device_nvidia )
!$acc kernels
do j=2,(nj-1)/2
do i=2,ni-1
T(i,j)=0.25*(T_o(i+1,j)+T_o(i-1,j)+ T_o(i,j+1)+T_o(i,j-1))
enddo
enddo
!$acc end kernels
!$acc end data
!$omp section
!$acc data copyout(T) copyin(T_o)
call acc_set_device_num(2, acc_device_nvidia )
do j=((nj-1)/2)+1,nj-1
do i=2,ni-1
T(i,j)=0.25*(T_o(i+1,j)+T_o(i-1,j)+ T_o(i,j+1)+T_o(i,j-1))
enddo
enddo
!$acc end data
!$omp end sections
!$omp end parallel
And this is the compilation error I'm getting. enter image description here
I'm also attaching the error text below: /home/opt_ohpc_pub/nvhpc-sdk/Linux_x86_64/20.7/compilers/share/llvm/bin/opt: /tmp/nvfortrancom0gYsq9huq.ll:1227:32: error: invalid type for alloca %acc_set_device_num_ = alloca void (...), align 8