Does routine directives support common type?

Does routine directives in OpenACC supoort the common type of the data Parallelization?if yes, would you please give me some examples?

Thanks a lot.

Sisiy Gu

Hi Sisiy,

No, common blocks are not supported within subroutines decorated with the OpenACC “routine” directive. Doing so will give the following error:

PGF90-S-0155-Common block variables are not supported in acc routine

Module data when added to a “declare create” directive are available within “routine”, so converting your common blocks into modules would be the work around.

Hope this helps,


I know it has been 2 years since this thread was created however I would like to know if the PGI compilers still do not support acc routines that contain common data blocks. I read somewhere that OpenACC version 2.6 that comes with recent PGI compilers support the common data blocks within acc routines. I tried that out but still had the complain: common data blocks not supported in acc routines.

I will be glad if you could help with this.