gputools安装失败 - “未知选项'框架'”

时间:2015-01-15 15:02:58

标签: r cuda

我很难在我的计算机上安装rgputools。我已经安装了CUDA并正确设置了对应的PATH文件here

编译包时,我最初得到了错误

/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'

我通过从-gencode arch=compute_10,code=sm_10 makefile中删除gputools来解决了这个问题(找到了这个简单的解决方案here)。

现在它编译了一些东西大约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。我在这个问题上丢失了,-framework文件中config.mk只出现了R_FRAMEWORK := -F$(R_HOME)/.. -framework R-framework R甚至删除R CMD build gputools && R CMD INSTALL gputools_0.28.tar.gz都没有差。

注意:我使用{{1}}将其从仓库编译为recommended here

有人知道我可以尝试什么吗?

3 个答案:

答案 0 :(得分:2)

似乎gputools 1.0解决了我的问题。我已经能够使用{'Content-Type': 'application/json', 'Authorization': 'Basic RmlhdE1hcmtldGluZ1xGMzIwMDJCOkFjY2V'} 毫无问题地安装它。

R 3.2.2

答案 1 :(得分:1)

对不起。我发布这个作为解决方案,但我没有足够的声誉来评论。保罗,你的解决方案对我有用。我的设备是具有3.0 CUDA功能的GeForce GT 750M。

我下载了最后一个源gputools_0.28.tar.gz并解压缩了它。然后我修改了src / Makefile中的第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     

答案 2 :(得分: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上找到有关此内容的更多详情。删除任何继续给出编译错误。

然后将tar.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

有更多信息