在任何现有的OpenACC编译器中是否支持包含可分配数组的派生类型?

mjm*_*m26 6 fortran pgi openacc

是否有任何OpenAcc编译器支持从GPU中复制包含可分配数组的派生类型及其在加速代码中的使用?

OpenACC规范(v2.0)声明这是可能的,但我无法在任何地方找到它在编译器中实现.PGI编译器支持派生类型,但似乎不包含那些包含可分配数组的类型(请参阅PGI论坛上的此页面).虽然这可能已经发生了变化,但它似乎没有在任何地方公开(好).

mjm*_*m26 3

目前我无法访问 Cray 或 CAPS 编译器,并且 PGI 编译器不支持此功能。一个合适的解决方法似乎是在派生类型中创建一个指向可分配数组的指针,并使用该copy子句将其复制到 GPU。如果未来版本的 PGI 编译器支持这种深度复制,那么我将更新答案。