Matlab 为什么我不能使gpv可变?(无法使用cudaMalloc分配内存)
我试图在ubuntu下使用GPUmat(MATLAB) 对于我的系统,GPUstart运行良好,没有任何错误消息,如下所示:Matlab 为什么我不能使gpv可变?(无法使用cudaMalloc分配内存),matlab,memory-management,cuda,gpu,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:
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));
我猜不出为什么会这样。你能给我一些建议来解决这个问题吗?我真的很感谢你的帮助
p、 s)由于库问题,GPUstart首次无法工作。因此,根据GPUmat开发者的建议,我将CUDA 4.2的所有库移到了matlab库文件夹中
谢谢大家! 您安装了不兼容的CUDA运行时版本。GPUStart告诉您“必需的CUDA版本:4.2”,但您已经安装了CUDA 3.0工具包
您需要将CUDA toolkit更新为受支持的版本。如果删除
rand
,是否会发生同样的情况?例如,a=GPUdouble(2)
。您安装了不兼容的CUDA运行时版本。GPUStart告诉您“必需的CUDA版本:4.2”,但您已经安装了CUDA 3.0工具包。@Talonmes请作为答案发布。问题似乎已经解决,但请确保包括问题产生的原因,因为matlab提供了自己的CUDA工具包副本,并替换了LD_LIBRARY_路径,以赋予其库优先级。