CUDA UVA复制失败

时间:2013-03-02 06:42:56

标签: cuda

这是问题...... 我尝试在我自己的向量容器中从主机到主机进行复制,如下面的代码

T* data_t = 0;
size_t msize = sizeof(T) * capacity;
checkCudaErrors( cudaHostAlloc((void**)&data_t, msize, cudaHostAllocPortable) );

msize = sizeof(T) * count;
checkCudaErrors( cudaMemcpy(data_t, data, msize, cudaMemcpyDefault) ); 
//data is also allocated using cudaHostAlloc with flag cudaHostAllocPortable

我能够在我的机器中使用我的机器(使用Ubuntu 10.04 64位和我的GPU GTX 590以及使用CUDA 5.0)成功编译该代码

  

-gencode arch = compute_20,code = sm_20 -gencode arch = compute_30,code = sm_30

然而,当我尝试运行它时,它导致cuda错误,错误消息无效参数

注意:使用cudaHostAlloc进行内存分配只是暂时的测试,因为我设计了自己的容器,可以自动从主机复制到设备或主机复制到主机。

有没有人可以帮我解决这个问题?谢谢。

更新

我尝试使用cudaMemcpyHostToHost内存副本(分配为带有标记cudaHostAllocPortable的固定内存)它只能达到内存大小的某个限制,在超过该限制后,副本会出错消息分段错误

0 个答案:

没有答案