NukadaFFT library

I am sorry for the confusion pix1 = 20, pix2 = 20, n = 50 (batch size), in1_d(input) and f1_d(FFT output) and device values with size of pix1pix2n

The values match, but I would like to see if there’s an improvement in speed :)

nufft_plan plan_forward1;

nufftPlan2d(&plan_forward1, pix1, pix2, n, in1_d, in1_d, f1_d, f1_d, NUFFT_D2D);

nufftExec(plan_forward1, in1_d, in1_d, f1_d, f1_d, NUFFT_FORWARD);

nufftDestroy(plan_forward1);

I was able to compile the source code successfully, but when i run any binary I get a ‘FLOATING POINT EXCPETION’ ??

I use OpenSUSE 11.2 64bit with CUDA 3.1

compiler output:

[codebox]if [ uname -p = “x86_64” ] ; then \

make -f Makefile.base AMD64=64 ARCH= TOPDIR=`pwd`;\

else \

make -f Makefile.base AMD64= ARCH= TOPDIR=`pwd`;\

fi

if [ uname -p = “x86_64” ] ; then \

make -f Makefile.base AMD64=64 ARCH= TOPDIR=`pwd`;\

else \

make -f Makefile.base AMD64= ARCH= TOPDIR=`pwd`;\

fi

make[1]: Entering directory `~/NukadaFFT-1.0’

for d in runtime driver driver0d hostmapped double ; \

do \

cd sample/$d ; make AMD64=64 ARCH= TOPDIR=~/NukadaFFT-1.0; cd ../.. ;\

done

make[2]: Entering directory `~/NukadaFFT-1.0/sample/runtime’

nvcc -O2 -c runtime.cu -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/runtime runtime.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda -lcudart -lcufft

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/runtime’

make[2]: Entering directory `~/NukadaFFT-1.0/sample/driver’

gcc -O2 -c driver.c -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/driver driver.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/driver’

make[2]: Entering directory `~/NukadaFFT-1.0/sample/driver0d’

gcc -O2 -c driver0d.c -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/driver0d driver0d.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/driver0d’

make[2]: Entering directory `~/NukadaFFT-1.0/sample/hostmapped’

gcc -O2 -c hostmapped.c -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/hostmapped hostmapped.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/hostmapped’

make[2]: Entering directory `~/NukadaFFT-1.0/sample/double’

gcc -O2 -c double.c -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/double double.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/double’

make[1]: Leaving directory `~/NukadaFFT-1.0’

[/codebox]

I was able to compile the source code successfully, but when i run any binary I get a ‘FLOATING POINT EXCPETION’ ??

I use OpenSUSE 11.2 64bit with CUDA 3.1

compiler output:

[codebox]if [ uname -p = “x86_64” ] ; then \

make -f Makefile.base AMD64=64 ARCH= TOPDIR=`pwd`;\

else \

make -f Makefile.base AMD64= ARCH= TOPDIR=`pwd`;\

fi

if [ uname -p = “x86_64” ] ; then \

make -f Makefile.base AMD64=64 ARCH= TOPDIR=`pwd`;\

else \

make -f Makefile.base AMD64= ARCH= TOPDIR=`pwd`;\

fi

make[1]: Entering directory `~/NukadaFFT-1.0’

for d in runtime driver driver0d hostmapped double ; \

do \

cd sample/$d ; make AMD64=64 ARCH= TOPDIR=~/NukadaFFT-1.0; cd ../.. ;\

done

make[2]: Entering directory `~/NukadaFFT-1.0/sample/runtime’

nvcc -O2 -c runtime.cu -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/runtime runtime.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda -lcudart -lcufft

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/runtime’

make[2]: Entering directory `~/NukadaFFT-1.0/sample/driver’

gcc -O2 -c driver.c -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/driver driver.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/driver’

make[2]: Entering directory `~/NukadaFFT-1.0/sample/driver0d’

gcc -O2 -c driver0d.c -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/driver0d driver0d.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/driver0d’

make[2]: Entering directory `~/NukadaFFT-1.0/sample/hostmapped’

gcc -O2 -c hostmapped.c -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/hostmapped hostmapped.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/hostmapped’

make[2]: Entering directory `~/NukadaFFT-1.0/sample/double’

gcc -O2 -c double.c -I/usr/local/cuda/include -I~/NukadaFFT-1.0/include

gcc -O2 -Wl,-rpath=~/NukadaFFT-1.0/lib64 -o ~/NukadaFFT-1.0/bin64/double double.o -L~/NukadaFFT-1.0/lib64 -lnufft -L/usr/local/cuda/lib64 -lcuda

make[2]: Leaving directory `~/NukadaFFT-1.0/sample/double’

make[1]: Leaving directory `~/NukadaFFT-1.0’

[/codebox]

Sorry. It is a known issue in OpenSUSE and SUSE series.

I’ll provide the library for those when I have time to do it.

Sorry. It is a known issue in OpenSUSE and SUSE series.

I’ll provide the library for those when I have time to do it.

i tried it with RHEL 4.7, same problem persists ?

i tried it with RHEL 4.7, same problem persists ?

is the source available… ?

then i can make the build by myself ?

is the source available… ?

then i can make the build by myself ?

Hi everyone,

from where I can download nufft for Windows? On the http://matsu-www.is.titech.ac.jp/~nukada/nufft/ there is only version for Linux, but also there was written that nufft is for Linux and Windows.
can you help me?

take care:)

Hi everyone,

from where I can download nufft for Windows? On the http://matsu-www.is.titech.ac.jp/~nukada/nufft/ there is only version for Linux, but also there was written that nufft is for Linux and Windows.
can you help me?

take care:)

Sorry, Windows version is not ready now.

Although very earlier version (more than 1 years ago) was tested on Windows…,

after that, the development is done on Linux.

Sorry, Windows version is not ready now.

Although very earlier version (more than 1 years ago) was tested on Windows…,

after that, the development is done on Linux.

Hi

I am running into the following problem with using the library

I get this error with the nuPlan2d - Failed to allocate xxxxxxx byte host memory.

My usage is as below ( i use the cufftComplex datatype for validation with cufft)

[codebox]cufftComplex *d_idata;

cufftComplex *d_odata;

cudaMalloc((void**)&d_idata, sizeof(cufftComplex)*num_elements);

cudaMemcpy( d_idata, h_idata, num_elements*sizeof(cufftComplex) ,cudaMemcpyHostToDevice);

cudaMalloc((void**)&d_odata, sizeof(cufftComplex)*num_elements);

nuPlan2d(&nu_plan, npointx, npointy, num_ffts, (CUdeviceptr)d_idata, (CUdeviceptr)d_odata, (CUdeviceptr)d_idata, (CUdeviceptr)d_odata, NUFFT_D2D)

with 256x256b256, (I get the following error)

Failed to allocate 268435456 byte host memory. [/codebox]

I use a gtx480,

with OpenSUSE 11.2 x86_64, Linux version 2.6.31.14-0.2-desktop (geeko@buildhost) gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux) )

CUDA Driver Version: 3.20, CUDA Runtime Version: 3.20, Driver version 260.24

any help will be greatly appreciated. Thanks.

Hi

I am running into the following problem with using the library

I get this error with the nuPlan2d - Failed to allocate xxxxxxx byte host memory.

My usage is as below ( i use the cufftComplex datatype for validation with cufft)

[codebox]cufftComplex *d_idata;

cufftComplex *d_odata;

cudaMalloc((void**)&d_idata, sizeof(cufftComplex)*num_elements);

cudaMemcpy( d_idata, h_idata, num_elements*sizeof(cufftComplex) ,cudaMemcpyHostToDevice);

cudaMalloc((void**)&d_odata, sizeof(cufftComplex)*num_elements);

nuPlan2d(&nu_plan, npointx, npointy, num_ffts, (CUdeviceptr)d_idata, (CUdeviceptr)d_odata, (CUdeviceptr)d_idata, (CUdeviceptr)d_odata, NUFFT_D2D)

with 256x256b256, (I get the following error)

Failed to allocate 268435456 byte host memory. [/codebox]

I use a gtx480,

with OpenSUSE 11.2 x86_64, Linux version 2.6.31.14-0.2-desktop (geeko@buildhost) gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux) )

CUDA Driver Version: 3.20, CUDA Runtime Version: 3.20, Driver version 260.24

any help will be greatly appreciated. Thanks.

sorry…
repost

sorry…
repost

Hi - any plans for a windows version any time soon?

thanks

eyal

Hi - any plans for a windows version any time soon?

thanks

eyal

Although I have asked this question here already once I did not get any real reply on that issue.

How about large FFTs?

Are FFTs with more than 10K points supported? Since we don’t need so many batches (roughly 40 at max) it would be good to know if we can consider this library for our high spectral resolution application or not.

Regards,
Thomas Hobiger