error.h 1.3 KB
#include <stdio.h>
#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