I have an openmp code where many scalars and arrays are encapsulated in a struct, and many function within the parrallel region have that struct as the parameter. But the reference guide mentions that in the pragma offload mode, the offloaded data must be bitwise copyable, meaning the structure of arrays cannot be properly dealt with. I have already explicitly specified the length of each array in the pragma in the form of in/out(struct.array:length(z)), but the compiler still complains that variable "struct" used in this offload region is not bitwise copyable.
So my question is: am I really left no choice but to manually replace all the structs that appear in the parallel region with a large amount of arrays and end up having a code full of bulky parameter lists? Is there any work-around? Thanks!