为什么我不能使GPU变量? (无法使用cudaMalloc分配内存)

时间:2012-09-03 02:14:58

标签: matlab memory-management cuda gpu

我正在尝试在ubuntu下使用GPUmat(MATLAB)。

对于我的系统,GPUstart运行良好,没有任何错误消息,如下所示:

Starting GPU
- GPUmat version: 0.280
- Required CUDA version: 4.2
There is 1 device supporting CUDA
CUDA Driver Version:                           4.20
CUDA Runtime Version:                          3.0

Device 0: "GeForce GT 520"
  CUDA Capability Major revision number:         2
  CUDA Capability Minor revision number:         1
  Total amount of global memory:                 1073283072 bytes
  - CUDA compute capability 2.1
...done
- Loading module EXAMPLES_CODEOPT
- Loading module EXAMPLES_NUMERICS
  -> numerics21.cubin
- Loading module NUMERICS
  -> numerics21.cubin
- Loading module RAND

但是当我尝试创建类似'a = GPUdouble(rand(2))的变量时; “ 出现以下错误消息

Error using mxNumericArrayToGPUtypePtr
Unable to allocate memory using cudaMalloc

Error in GPUdouble (line 52)
            p.slot = mxNumericArrayToGPUtypePtr(p,
            double(A));

我无法猜出为什么这是一个hapenning。你能给我一些建议来解决这个问题吗?我真的很感谢你的帮助。

p.s)第一次,由于库存在问题,GPUstart无法正常工作。所以我根据GPUmat开发人员的建议将CUDA 4.2的所有库移动到matlab库文件夹中。

谢谢!

0 个答案:

没有答案