We are using the fft library in a submodule of our software that needs to perform some operations in frequency space. The general idea is that
When the submodule is started, we also initialize the fft library using the following code:
setupData = new clAmdFftSetupData();
clAmdFftStatus status = clAmdFftInitSetupData( setupData );
status = clAmdFftSetup( setupData );
Then we perform several fft operations till we are done with the module and close our module. When we close the module, we also close the fft library using
delete( setupData );
This works good so far. The problem is, that once we closed the fft library, it seems impossible to initialize it again later. When we want to go back later to the fft module, and do the above twice, the second call to clAmdFftTeardown() causes an SEH exception.
Now obviously we could implement some workaround to delay closing the fft library till the end of the program, but that would be kind of a last resport. Is there any experience on the above behaviour?
I did a quick check with a simple application that does the following many times:
Create FFT plan
Destroy FFT plan
The application worked fine with the memory footprint reminaing stable. Are you sure the problem is due to the FFT library? Are you correctly freeing all buffers, plans, resources etc in the submodule?
If you can demonstrate with a code sample that the FFT library is st fault, then we can work on it. Thanks