Is it possible to put the 'cufftExecC2C' into a specific stream?

I want to implement the concurrent copy and execute as below:

[codebox]size=N*sizeof(float)/nStreams;

for (i=0; i<nStreams; i++) {

offset = i*N/nStreams;

cudaMemcpyAsync(a_d+offset, a_h+offset, size, dir, stream[i]);

}

for (i=0; i<nStreams; i++) {

offset = i*N/nStreams;

kernel<<<N/(nThreads*nStreams), nThreads, 0, stream[i]>>>(a_d+offset);

}[/codebox]

But the ‘cufftExecC2C’ does NOT have an input named streamID, so is it possible to put the ‘cufftExecC2C’ into a specific stream?

You can set the stream you are going to use with a particular plan using cufftSetStream:

cufftSetStream(*myplan,streams[i]);

I found the cufftSetStream function appears in CUDA 3.0, but I can’t find the same function in CUDA 2.3 documentation, does it mean I can’t utilize this functionality in my application which is compiled in 2.3?

Thanks a lot for your help.

I found the undocumented ‘cufftSetStream’ in cufft.h which is not described in CUFFT_Library_2.3.pdf, and it works on my device, thanks again for your help~~~