CHECK(call)函数在Google Colab中获取错误

时间:2020-07-12 11:55:26

标签: c++ cuda google-colaboratory nvidia

我刚刚从CUDA中的普通CHECK(call)函数复制了一个函数,并在Google Colab中与nvcc_plugin一起运行

#define CHECK(call)
{
    const cudaError_t error = call;
    if (error != cudaSuccess)
    {
        printf("Error: %s:%d, ", __FILE__, __LINE__);
        printf("code:%d, reason: %s\n", error, cudaGetErrorString(error));
        exit(1);
    }
}

但是会引发错误

/tmp/tmpvc2kvnuh/9c0f913f-6a2c-420d-9e3a-94c6e3123f7f.cu(9): error: expected a declaration 

我该怎么做?

1 个答案:

答案 0 :(得分:2)

#define CHECK(call) \
{\
    const cudaError_t error = call;\
    if (error != cudaSuccess)\
    {\
        printf("Error: %s:%d, ", __FILE__, __LINE__);\
        printf("code:%d, reason: %s\n", error, cudaGetErrorString(error));\
        exit(1);\
    }\
}

如果要使用多行宏,则必须添加反斜杠。