#include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include "cufft.h" #ifndef CUDA_HANDLE_ERROR_H #define CUDA_HANDLE_ERROR_H //handle error macro static void HandleError( cudaError_t err, const char *file, int line ) { if (err != cudaSuccess) { //FILE* outfile = fopen("cudaErrorLog.txt", "w"); //fprintf(outfile, "%s in %s at line %d\n", cudaGetErrorString( err ), file, line ); //fclose(outfile); printf("%s in %s at line %d\n", cudaGetErrorString( err ), file, line ); //exit( EXIT_FAILURE ); } } #define HANDLE_ERROR( err ) (HandleError( err, __FILE__, __LINE__ )) static void CufftError( cufftResult err ) { if (err != CUFFT_SUCCESS) { if(err == CUFFT_INVALID_PLAN) printf("The plan parameter is not a valid handle.\n"); if(err == CUFFT_INVALID_VALUE) printf("At least one of the parameters idata, odata, and direction is not valid.\n"); if(err == CUFFT_INTERNAL_ERROR) printf("An internal driver error was detected.\n"); if(err == CUFFT_EXEC_FAILED) printf("CUFFT failed to execute the transform on the GPU.\n"); if(err == CUFFT_SETUP_FAILED) printf("The CUFFT library failed to initialize.\n"); } } #endif