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?
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?
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).
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).