In a kernels directive how do you specify the vector length?
I tried:
!$acc kernels loop gang(100) vector(128)
DO i=ITS,ITF. !Line 4990
DO k=KTS,KTE !KTF
and it gave the error:
NVFORTRAN-S-0155-vector(x) not allowed in a kernels region having vector_length (module_bl_mynn.F90: 4990)
Then I found https://www.openacc.org/sites/default/files/inline-files/OpenACC_Programming_Guide_0.pdf
1 !$acc kernels
2 !$acc loop gang
3 do j=1,M
4 !$acc loop vector(128)
5 do i=1,N
6
7 !$acc end kernels
but when I try it:
!$acc kernels
!$acc loop gang
DO i=ITS,ITF
!$acc loop vector(128)
DO k=KTS,KTE !Line 4991
I get the same error:
NVFORTRAN-S-0155-vector(x) not allowed in a kernels region having vector_length (module_bl_mynn.F90: 4991)
I don’t know why the compiler thinks vector_length has been specified. What I’m doing wrong?
Thanks,
Jacques