2012-09-03 37 views
0

我想在Ubuntu下使用GPUmat(MATLAB)。爲什麼我不能製作GPU變量? (無法使用cudaMalloc分配內存)

對於我的系統,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 

但是當我嘗試創建像'一個= 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

如果您刪除'rand',是否會發生同樣的事情?例如,'a = GPUdouble(2)'。 –

+0

您有一個不兼容的CUDA運行時版本。 GPUStart會告訴您「必需的CUDA版本:4.2」,但您已安裝CUDA 3.0工具包。 – talonmies

+1

@talonmies請發表回答。 – harrism

回答

1

您安裝的CUDA運行時版本不兼容。 GPUStart會告訴您「必需的CUDA版本:4.2」,但您已安裝CUDA 3.0工具包。

您需要將您的CUDA工具包更新到支持的版本。

相關問題