gputools 安装失败 - "Unknown option 'framework'"
gputools install failed - "Unknown option 'framework'"
我很难在我的机器上安装 r
软件包 gputools
。我已经安装了 CUDA 并按照 here.
正确设置了相应的 PATH 文件
编译包时我最初遇到错误
/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
makefile 中删除 -gencode arch=compute_10,code=sm_10
解决了这个问题(找到了这个简单的解决方案 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。我迷失了这一点,config.mk
文件中只出现了一次 -framework
,即 R_FRAMEWORK := -F$(R_HOME)/.. -framework R
,即使删除 -framework R
也没有什么不同。
注意:我使用 R CMD build gputools && R CMD INSTALL gputools_0.28.tar.gz
从 repo 将其编译为 recommended here
有人知道我可以尝试什么吗?
对不起。我将此作为解决方案发布,但我没有足够的声誉来发表评论。保罗,你的解决方案对我有用。我的设备是具有 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
我也遇到了同样的 "framework" 错误,最终能够解决问题。请允许我从头说起。如果您收到有关 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
中提到的环境变量
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
看来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
我很难在我的机器上安装 r
软件包 gputools
。我已经安装了 CUDA 并按照 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'
我通过从 gputools
makefile 中删除 -gencode arch=compute_10,code=sm_10
解决了这个问题(找到了这个简单的解决方案 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。我迷失了这一点,config.mk
文件中只出现了一次 -framework
,即 R_FRAMEWORK := -F$(R_HOME)/.. -framework R
,即使删除 -framework R
也没有什么不同。
注意:我使用 R CMD build gputools && R CMD INSTALL gputools_0.28.tar.gz
从 repo 将其编译为 recommended here
有人知道我可以尝试什么吗?
对不起。我将此作为解决方案发布,但我没有足够的声誉来发表评论。保罗,你的解决方案对我有用。我的设备是具有 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
我也遇到了同样的 "framework" 错误,最终能够解决问题。请允许我从头说起。如果您收到有关 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
中提到的环境变量
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
看来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