Hi,
A call to cufftPlan2d() (using doubles) returns a value 4
Now, from cufft.h :
// CUFFT API function return values
typedef enum cufftResult_t {
CUFFT_SUCCESS = 0x0,
CUFFT_INVALID_PLAN = 0x1,
CUFFT_ALLOC_FAILED = 0x2,
CUFFT_INVALID_TYPE = 0x3,
CUFFT_INVALID_VALUE = 0x4, < — Voila!
CUFFT_INTERNAL_ERROR = 0x5,
CUFFT_EXEC_FAILED = 0x6,
CUFFT_SETUP_FAILED = 0x7,
CUFFT_INVALID_SIZE = 0x8
} cufftResult;
However, according to the cuda FFT 3.1 manual, this function should not return this value …
valgrind shows an error:
==18968== Mismatched free() / delete / delete
==18968== at 0x4C27DCF: operator delete(void*) (vg_replace_malloc.c:387)
==18968== by 0x4E4B9C4: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E4BBCD: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E4132C: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E40B85: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E41F81: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E3EC37: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E3ED53: cufftPlan2d (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
Any ideas anyone ?
Best,
wateenellende