2015-01-15 64 views
4

我一直在努力在我的機器上安裝r程序包gputools。我已經安裝了CUDA並正確設置了相應的PATH文件,如heregputools安裝失敗 - 「未知選項」框架「」

當編譯我最初得到了錯誤

/usr/local/cuda/bin/nvcc -gencode arch=compute_10,code=sm_10 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -c -I. -I"/usr/local/cuda/include" -I"/usr/local/Cellar/r/3.1.0/R.framework/Resources/include" -m64 -Xcompiler -fPIC rinterface.cu -o rinterface.o 
nvcc fatal : Unsupported gpu architecture 'compute_10' 

我通過從gputools生成文件(發現這個簡單的解決方案here)除去-gencode arch=compute_10,code=sm_10解決了這個包。

現在它編譯一些東西約30秒,然後用下面的錯誤結束:

/usr/local/cuda/bin/nvcc -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -shared -m64 -Xlinker '-rpath /usr/local/cuda/lib -F/usr/local/Cellar/r/3.1.0/R.framework/Resources/.. -framework R' -L"/usr/local/Cellar/r/3.1.0/R.framework/Resources/lib" -L"/usr/local/cuda/lib" -lcublas -framework Accelerate rinterface.o mi.o sort.o granger.o qrdecomp.o correlation.o hcluster.o distance.o matmult.o lsfit.o kendall.o cuseful.o -o gputools.so 
nvcc fatal : Unknown option 'framework' 
make: *** [gputools.so] Error 1 
ERROR: compilation failed for package ‘gputools’ 
* removing ‘/usr/local/Cellar/r/3.1.0/R.framework/Versions/3.1/Resources/library/gputools’ 

完整的控制檯輸出,可以發現here。我迷失在這一個,config.mk文件中只有一個-framework,這是R_FRAMEWORK := -F$(R_HOME)/.. -framework R,甚至刪除-framework R沒有什麼區別。

注:我用R CMD build gputools && R CMD INSTALL gputools_0.28.tar.gz從回購其編譯爲recommended here

大家有一個想法是什麼,我可以試試嗎?

+0

你想通了嗎?我遇到了同樣的問題。 – rimorob

+0

對不起,但我找不出解決這個問題的辦法。希望你找到一種方法來使這個工作。 –

+0

@rimorob我能夠在我的機器上解決這個問題。只是留下評論,以便通知 –

回答

2

似乎gputools 1.0已經解決了我的問題的詳細信息。我已經能夠使用R 3.2.2毫無問題地安裝它。

platform  x86_64-apple-darwin15.0.0 
arch   x86_64      
os    darwin15.0.0     
system   x86_64, darwin15.0.0   
status          
major   3       
minor   2.2       
year   2015       
month   08       
day   14       
svn rev  69053      
language  R       
version.string R version 3.2.2 (2015-08-14) 
nickname  Fire Safety 
1

對不起。我將此作爲解決方案發布,但我沒有足夠的評論聲望。保羅,你的解決方案爲我工作。我的設備是具有3.0 CUDA功能的GeForce GT 750M。

我下載了最後一個源代碼gputools_0.28.tar.gz並解壓縮了它。然後我修改中的src /生成文件線19:

NVCC := $(CUDA_HOME)/bin/nvcc -gencode arch=compute_10,code=sm_10 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 

看起來像這樣:

NVCC := $(CUDA_HOME)/bin/nvcc -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 

最後,安裝有

R CMD INSTALL gputools 

其中gputools是解壓源之後創建的文件夾。

我的[R版本

platform  x86_64-apple-darwin13.4.0 
arch   x86_64      
os    darwin13.4.0     
system   x86_64, darwin13.4.0   
status          
major   3       
minor   2.2       
year   2015       
month   08       
day   14       
svn rev  69053      
language  R       
version.string R version 3.2.2 (2015-08-14) 
nickname  Fire Safety  
+0

我試過解決方案。對於我的'R 3.1.2'安裝,錯誤保持不變。我已升級到最新版本'R 3.2.2',但由於makefile上的md5校驗和失敗而導致安裝錯誤。你有沒有繞過md5檢查?請在這個要點中找到更新的日誌:[https://gist.github.com/paulklemm/d79344a86baf6dbed805](https://gist.github.com/paulklemm/d79344a86baf6dbed805) –

0

我也得到了同樣的「框架」的錯誤,並終於能夠解決這個問題。讓我從頭開始。如果您收到有關Unsupported gpu architecture編譯錯誤,您可以先解壓包

tar -xzvf gputools_0.28.tar.gz 

然後編輯Makefile

vi gputools/src/Makefile 

到更近的結構標誌爲NVIDIA新的編譯器解決這個

-gencode arch=compute_20,code=sm_20 
-gencode arch=compute_30,code=sm_30 
-gencode arch=compute_35,code=sm_35 
-gencode arch=compute_50,code=sm_50 
-gencode arch=compute_52,code=sm_52 
-gencode arch=compute_52,code=compute_52 

你可以在NVidia's website找到更多詳細信息。刪除任何繼續給編譯錯誤。

然後把焦油。GZ重新走到一起,並嘗試安裝它

tar -czvf my_gputools_0.28.tar.gz gputools 
R CMD build gputools && R CMD INSTALL gputools_0.28.tar.gz 

不要忘了,在談到在package documentation

export CUDA_HOME=/usr/local/cuda/5.0 
export LD_LIBRARY_PATH=/usr/local/cuda/5.0/lib64:$LD_LIBRARY_PATH` 

此時的環境變量,如果你得到一個Unknown option 'framework'例外,它似乎nvcc命令行參數稍有變化。再次查看makefile並尋找${shell R CMD config BLAS_LIBS}。這是爲我插入-framework <value>參數的部分。您只需運行命令R CMD config BLAS_LIBS即可測試您的配置。新的命令包括框架是

-Xlinker -framework,<value> 

有這個Nvidia page