Split offloading the FFT execution and allocating the FFT plan into two separate offload regions. Check if the plan is already allocated, and avoid reallocating the plan. The actual test is done on the host (which is fine since the variable "fftw_plan" is a global variable. Check if the plan needs to be deallocated (in order to avoid the offload to deallocate an empty plan). Minor: moved the offload attributes close to the place where the symbol is used. TODO: it is not yet prevented to execute a plan on the coprocessor that has been allocated on the host (and vice versa); same is true for deallocation.