gpt4 book ai didi

r - 在 Amazon 上使用 R 的 GPU 包

转载 作者:行者123 更新时间:2023-12-03 23:57:43 25 4
gpt4 key购买 nike

我花了将近一整天的时间试图让它运行,最后决定来 SO 因为这里会有人尝试过这个 =)

我想要一台运行 rpud(或另一个 R GPU 包)的 Amazon-EC2 GPU 机器,cg1.4xlarge 或 g2.2xlarge,因为它们是 Amazon(AWS) 仅有的两台 GPU 机器。

本帖How to run a GPU instance using Amazon EC2 Panel?帮助我意识到我不能将我的 rstudio-server 机器更改为 gpu 机器,因为我使用了不正确的 AMI。

从 Amazon CentOS 6 (x86_64) 的这个 AMI 开始 - 有更新
所以我决定我必须建立自己的并开始按照这里的说明http://www.r-tutor.com/gpu-computing/rpud-installation .以及 http://www.louisaslett.com/Talks/GPU_Programming_Basics_Getting_Started/Handout.pdf (路易斯·阿斯莱特(Louis Aslett)是在 ec2 上使用 rstudio-server 的惊人演示( http://www.louisaslett.com/RStudio_AMI/ )。

这两个最终都会将您带到这里:http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html#package-manager-installation ,所以你可以得到 CUDA 工具包(这似乎是 GPU 计算的必需品)。一些 AWS 机器已经安装了 Cuda 工具包,但是我想我会在第一次尝试时按照说明操作(即使它们已安装,有时版本控制与我使用的一些教程不同发现)。因此,我按照这些说明进行操作,最终得到了一些错误,例如 nvidia-settings-319.37-30.fc18.x86_64 (cuda) Requires: libgdk-x11-2.0.so.0()(64bit)当我尝试使用 $ cuda-install-samples-5.5.sh <dir> 运行示例时.所以我下载了所有这些必需的包。我再试一次,结果出现了 rpud 错误(稍后会详细说明)。

这台机器是 Ubuntu-12.04
所以我当然认为,一定有人已经为此构建了一个 AMI,并找到了用 python 完成的人。由于更多的速度奖励,我最终可能最终会使用 python,但此时我想让它与 R 一起使用。这里:http://vasir.net/blog/opencl/installing-cuda-opencl-pyopencl-on-aws-ec2是 AMI/关于如何从头开始构建它的说明的链接,如果你愿意的话。当然,那么你必须安装 R,它默认为 R2.14,所以请关注这篇很棒的帖子 How to install R version 3使 R.3.1.0 运行,因为 rpud 需要 R>=R.2.8。

按照上面列出的 r-tutor 站点的指示(简单地使用 install.packages('rpud')$ R CMD INSTALL rpud_<version>.tar.gz
或使用指示 http://cran.r-project.org/web/packages/rpud/INSTALL ,我收到此消息:

* installing *source* package ‘rpud’ ...
checking "environment variable CUDA_HOME"... "CUDA_HOME not set; using default /usr/local/cuda"
checking for /usr/local/cuda/bin/nvcc... yes
"nvcc found"
checking "whether this is the 64 bit linux version of CUDA"... checking for /usr/local/cuda/lib64/libcublas.so... yes
"yes -- using /usr/local/cuda/lib64 for CUDA libs"
"using -I/usr/share/R/include for R header files"
"using -Wl,--export-dynamic -fopenmp -L/usr/lib/R/lib -lR -lpcre -llzma -lbz2 -lrt -ldl -lm for R shared libraries"
configure: creating ./config.status
config.status: creating src/Makefile
** libs
** arch -
/usr/local/cuda/bin/nvcc -c -I/usr/local/cuda/include -Xcompiler "-I/usr/share/R/include -fpic" rpud.cu -o rpud.o
/usr/local/cuda/bin/nvcc -c -I/usr/local/cuda/include -Xcompiler "-I/usr/share/R/include -fpic" rpudist.cu -o rpudist.o
rpudist.cu(159): warning: use of "=" where "==" may have been intended

rpudist.cu(159): warning: use of "=" where "==" may have been intended

ptxas /tmp/tmpxft_000006af_00000000-5_rpudist.ptx, line 904; warning : Double is not supported. Demoting to float
/usr/local/cuda/bin/nvcc -shared -Xlinker "-Wl,--export-dynamic -fopenmp -L/usr/lib/R/lib -lR -lpcre -llzma -lbz2 -lrt -ldl -lm -Wl,-rpath,/usr/local/cuda/lib64" -L/usr/local/cuda/lib64 -lcublas -lcuda rpud.o rpudist.o -o rpud.so
/usr/bin/ld: unrecognized option '-Wl'
/usr/bin/ld: use the --help option for usage information
collect2: ld returned 1 exit status
make: *** [rpud.so] Error 1
ERROR: compilation failed for package ‘rpud’
* removing ‘/home/ubuntu/R/x86_64-pc-linux-gnu-library/3.1’/rpud’

所以我试图找出 -Wl 正在做什么,这导致我在这里陷入另一个死胡同 http://www.talkstats.com/showthread.php/43438-installing-rpud-got-unrecognized-option-Wl .我的一个 friend 指给我 http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html有关 -Wl 的更多信息,但更改 rpud 的源代码或查找/安装正确的链接器可能超出了我的能力范围。

关于评论:
ubuntu@ip-xx-xx-xx:~$ dpkg -l | grep nvidia
ii nvidia-current 319.37-0ubuntu1 NVIDIA binary Xorg driver, kernel module and VDPAU library
ii nvidia-current-dev 319.37-0ubuntu1 NVIDIA binary Xorg driver development files
ii nvidia-modprobe 319.37-0ubuntu1 Load the NVIDIA kernel driver and create device files
ii nvidia-settings 319.37-0ubuntu1 Tool for configuring the NVIDIA graphics driver

我希望有人在 ubuntu 上使用 rpud,并且可以提供有关如何让 rpud 工作的任何进一步指导。提前感谢您的时间。如果您需要更多信息,请随时发表评论。

编辑 2014 年 4 月 8 日

遵循 python 演练, http://enja.org/category/tutorial/advcl/ ,我能够在GPU上运行一个简单的程序,python/part1示例运行完美。所以我知道 NVIDIA 驱动程序工作正常,至少对于 python。但是,我还没有找到甚至可以正确加载包的 R 演练。

Python 探索的进一步发现:我当前的机器上有 2 个设备,它们都可以工作。
Choose device(s):
[0] <pyopencl.Device 'Tesla M2050' on 'NVIDIA CUDA' at 0x2806460>
[1] <pyopencl.Device 'Tesla M2050' on 'NVIDIA CUDA' at 0x28064b0>

*这些可以通过运行 python GPU 教程中的任何 python 脚本来看到

2014 年 4 月 9 日编辑

知道 Python 与 OpenCL 交互让我想到,R 不能做同样的事情吗?显然其他人也有同样的想法并构建了“OpenCL”包

所以我跑了 install.packages('OpenCL')它奏效了。然后运行来自 http://cran.r-project.org/web/packages/OpenCL/OpenCL.pdf 的一些示例代码也工作。

在这一点上,我唯一剩下的问题是,有没有其他人成功地将 GPU 与 R 连接起来,如果是这样,他们是怎么做到的?

我将逐步发布我的答案,但希望看到其他方式。

最佳答案

演练:

步骤 1:在 AWS 的社区 AMI 中查找 AMI-ID ami-87377cee(Erik Hazzard 在 http://vasir.net/blog/opencl/installing-cuda-opencl-pyopencl-on-aws-ec2 上构建的那个)并启动 cg1.4xlarge 机器。

第 2 步:从命令行运行:sudo apt-get update然后 sudo apt-get install r-base-core
** 这将安装 R2.14.1。如果你想使用最新的 R 版本,我会使用这里的指南:How to install R version 3

第 3 步:运行 R,然后使用 install.packages('OpenCL')安装 OpenCL

第 4 步:享受学习 OpenCL 的乐趣!!

让它工作真的很容易。以 OpenCL 可以使用的方式编写代码有点棘手,但是一旦掌握了它,利用 GPU 就可以成为一个非常强大的工具。

http://cran.r-project.org/web/packages/OpenCL/OpenCL.pdf一些代码片段让你开始。

使用这台机器,您还可以轻松地将 Python 与 OpenCL 结合使用,我推荐:http://enja.org/category/tutorial/advcl/如果你想走那条路。

关于r - 在 Amazon 上使用 R 的 GPU 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22789575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com