简单的device_vector代码给出了std :: bad_alloc:unknown

时间:2014-10-05 08:11:02

标签: c++ cuda

我收到以下错误:

std::bad_alloc: unknown error
abort (core dumped)

我的代码是

try {

thrust::host_vector<int> hvec(10);
thrust::generate(hvec.begin(), hvec.end(), rand);

thrust::device_vector<int> dvec = hvec; // this is where exception is thrown
thrust::sort(dvec.begin(), dvec.end());

} catch (thrust::system_error e)
{
    cout << e.what() << "\n";
}

我正在使用linux3.16,nvcc V6.5.12和NVidia GTX 750

我写了另一个代码来使用cudaMemGetInfo打印内存信息。它打印如下:

Free : 4203824
Total : 4470016

1 个答案:

答案 0 :(得分:1)

如评论中所述,显示的内存信息错误(大约4MB)。安装CUDA和推力后我没有重新启动。重启后代码运行正常,cudaMemGetInfo显示的信息也正确。