2013-01-31 34 views
2

我已經安裝了Nvidia圖形卡(GeForce GT 640 M)和CUDA 5.0。然後我在R中安裝了gputools軟件包。該軟件包安裝完美,但是當我嘗試使用其中的一個函數時,它給了我一個無效的設備函數錯誤。R中的gpuools - 無效的設備功能錯誤

require("gputools") 
mat = matrix(runif(25),5,5) 
gpuCor(mat) 
Error in gpuCor(mat) : invalid device function 
In addition: Warning message: 
In gpuCor(mat) : PMCC function : kernel finish and memcpy 

我已確保cuda示例正常工作,並且我自己的cuda腳本也能正常工作。 gpuMatMult函數在軟件包中工作(我檢查了源文件,它沒有任何設備功能),但帶有設備功能的函數正在進行折騰。

以下是我的系統細節 操作系統 - Ubuntu的12.04 Cuda的 - CUDA - 5.0 顯卡 - 的NVIDIA GeForce GT 640中號 RAM - 12 GB

任何人都面臨過這樣的問題?

+0

我已經在2臺不同的機器上測試了這個,一臺使用Ubuntu,另一臺使用cent os,但都具有相同的GPU(640 M),並且都給出相同的錯誤。我讀過的地方有時如果gpu有不同的架構,那麼編譯一些額外的標誌需要提供,這可能是問題。這個軟件包在另一個CentOs的卡片機上工作得很好。 – Avinash

回答

2

我找到了解決此問題的方法。問題在於程序包的makefile中,編譯體系結構使用(arch_compute = sm_10)傳遞給編譯器,程序包的作者在其中放入了一個應該關注大部分設備的體系結構列表。由於某種原因,GeForce 640 M不在該列表中。我刪除了整個列表,沒有通過任何體系結構參數,並且安裝的包很好。

相關問題