Convert integer for float for CUFFT

I’m considering using the CUFFT library (on GTX480) to speed up FFT operations in one of our linux computers. I will be ingesting data from an A/D card in the same computer that outputs 8-bit or 16-bit complex integers and would like to feed this into the CUFFT library. Is there a way to have the NVIDIA GPU perform the conversions from integer to floating-point? Ideally, I would like to DMA the fixed-point data to the GPU, convert to floating point, perform the FFT, and then DMA back to the host computer.

If this is possible, what API methods are used? How does this tie-in to the CUFFT API methods?

Thanks much for the help!

Kyle

I’m considering using the CUFFT library (on GTX480) to speed up FFT operations in one of our linux computers. I will be ingesting data from an A/D card in the same computer that outputs 8-bit or 16-bit complex integers and would like to feed this into the CUFFT library. Is there a way to have the NVIDIA GPU perform the conversions from integer to floating-point? Ideally, I would like to DMA the fixed-point data to the GPU, convert to floating point, perform the FFT, and then DMA back to the host computer.

If this is possible, what API methods are used? How does this tie-in to the CUFFT API methods?

Thanks much for the help!

Kyle

you can just cast it, like anything else.

ie

char c;

short s;

float foo = static_cast<float>(c);

float bar = static_cast<float>(s);

basically you’ll have to run a kernel that just takes a char or short array and then performs this cast elementwise. Or look into using thrust’s transform operator (probably the easiest).

you can just cast it, like anything else.

ie

char c;

short s;

float foo = static_cast<float>(c);

float bar = static_cast<float>(s);

basically you’ll have to run a kernel that just takes a char or short array and then performs this cast elementwise. Or look into using thrust’s transform operator (probably the easiest).