I need the input data to be conserved. There are two solutions for this: Either make a copy of the input data in the device memory and use the copy as input for a in-place fft or directly use the out-of-place fft.
All transformations are large complex to complex.
Which option will be faster?
Another question: Can I change the placeness with clAmdFftSetResultLocation after baking the plan?
Using out-of-place transform is probably the way to go. Using an additional copy and an in-place transform will be slightly slower. The best way to decide is to time both the options and see for yourselves.
You cannot change anything after the BakePlan step. If you are going to change something, you would have to call BakePlan again.