cuda - Cuda 中未找到 HANDLE_ERROR 错误

标签 cuda

__global__ void add( int a, int b, int *c ) { 
    *c = a + b;
}
int main( void ) {
int c;
int *dev_c;
HANDLE_ERROR( cudaMalloc( (void**)&dev_c, sizeof(int) ) );
add<<<1,1>>>( 2, 7, dev_c );
HANDLE_ERROR( cudaMemcpy( &c, dev_c, sizeof(int), cudaMemcpyDeviceToHost ) ); 
printf( "2 + 7 = %d\n", c );
cudaFree( dev_c );
}

这是代码。
正在生成 HANDLE_ERROR 未找到错误。我不知道如何解决它。试图获取一些头文件,但无法弄清楚......

任何帮助请!!!

最佳答案

如果我不得不猜测,我会说您正在使用 CUDA By Example 一书,它定义了 HANDLE_ERROR宏如下:

static void HandleError( cudaError_t err,
                         const char *file,
                         int line ) {
    if (err != cudaSuccess) {
        printf( "%s in %s at line %d\n", cudaGetErrorString( err ),
                file, line );
        exit( EXIT_FAILURE );
    }
}
#define HANDLE_ERROR( err ) (HandleError( err, __FILE__, __LINE__ ))

确保此代码出现在您的源代码中的某处,或出现在您 #include 的标题中的某处。 .

关于cuda - Cuda 中未找到 HANDLE_ERROR 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13245258/

相关文章:

c++ - 默认情况下,exp的CUDA C++数学函数是否具有覆盖函数?

c - 如何将文件从主机复制到 GPU 设备?

cuda - 多个 GPU 和多个可执行文件

c++ - 使用构造函数中本地声明的 device_vector 中的 device_vector::data() 方法初始化结构内部的指针是否安全?

CUDA 函数指针

c++ - 来自 cudaGetErrorString(err) 的未知错误

c++ - CUDA - 源文件上的 __device__ 方法

c++ - 是否有泛化 int4、uint4、float4 等的模板化类型?

cuda - C++ CUDA 内核中可以使用字符串数据类型吗?

c++ - 推力可以处理半精度 float (float16/IEEE 754-2008)吗?