Tôi đã dành gần một ngày để cố gắng chạy và cuối cùng quyết định đến SO vì sẽ có người ở đây đã thử cách này =)Sử dụng gói GPU của R trên Amazon
Tôi muốn nhận một máy GPU Amazon-EC2 chạy với rpud (hoặc một gói R GPU khác), hoặc là một cg1.4xlarge hoặc g2.2xlarge vì đó là hai máy GPU duy nhất Amazon (AWS) có.
Bài đăng này How to run a GPU instance using Amazon EC2 Panel? đã giúp tôi nhận ra rằng tôi không thể chỉ thay đổi máy rstudio-server thành máy gpu khi tôi đang sử dụng AMI không chính xác.
Bắt đầu với AMI này từ Amazon CentOS 6 (x86_64) - với cập nhật
Vì vậy, tôi quyết định rằng tôi đã phải xây dựng của riêng tôi và bắt đầu theo các hướng dẫn ở đây http://www.r-tutor.com/gpu-computing/rpud-installation. Cũng như http://www.louisaslett.com/Talks/GPU_Programming_Basics_Getting_Started/Handout.pdf (Louis Aslett là cùng một người có bản demo tuyệt vời khi sử dụng rstudio-server trên ec2 (http://www.louisaslett.com/RStudio_AMI/).
Cả hai người cuối cùng dẫn bạn đến đây: http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html#package-manager-installation, vì vậy bạn có thể lấy CUDA Một số máy AWS đã có một bộ công cụ Cuda được cài đặt, tuy nhiên tôi nghĩ rằng tôi sẽ làm theo các hướng dẫn trong lần thử đầu tiên của tôi (mặc dù chúng được cài đặt, đôi khi phiên bản của các công cụ không có Vì vậy, tôi làm theo những hướng dẫn để một T và tôi kết thúc nhận được một vài lỗi như nvidia-settings-319.37-30.fc18.x86_64 (cuda) Requires: libgdk-x11-2.0.so.0()(64bit)
khi tôi cố gắng để chạy các ví dụ với $ cuda-install-samples-5.5.sh <dir>
.Vì vậy, tôi tải về tất cả những người các gói bắt buộc. Tôi thử lại và kết thúc với các lỗi rpud (sẽ chi tiết các lỗi sau)
Máy này là Ubuntu-12.04
Vì vậy, tất nhiên tôi nghĩ, ai đó phải đã xây dựng một AMI cho điều này và tìm một ai đó đã làm nó với trăn. Tôi chỉ có thể kết thúc bằng python anyway vì nhiều tiền thưởng tốc độ, nhưng vào thời điểm này, tôi muốn nhận nó làm việc với R. đây: http://vasir.net/blog/opencl/installing-cuda-opencl-pyopencl-on-aws-ec2 là liên kết để AMI/hướng dẫn về việc làm thế nào để xây dựng nó từ đầu nếu bạn muốn. Tất nhiên, sau đó bạn phải cài đặt R, mặc định là R2.14, vì vậy sau bài đăng tuyệt vời này How to install R version 3 để chạy R.3.1.0 vì rpud yêu cầu R> = R.2.8.
Tiếp theo các hướng dẫn của trang web r-gia sư liệt kê ở trên (hoặc từ đơn giản sử dụng install.packages('rpud')
hoặc $ R CMD INSTALL rpud_<version>.tar.gz
hoặc bằng cách sử dụng các hướng dẫn http://cran.r-project.org/web/packages/rpud/INSTALL, tôi nhận được tin nhắn này:
* 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’
Vì vậy, tôi cố gắng tìm hiểu những gì -Wl đang làm dẫn tôi đến một ngõ cụt ở đây http://www.talkstats.com/showthread.php/43438-installing-rpud-got-unrecognized-option-Wl. Một người bạn của tôi đã chỉ cho tôi để http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html để biết thêm thông tin về -Wl
, nhưng thay đổi mã nguồn của rpud hoặc tìm/cài đặt các mối liên kết chính xác có thể là ngay bên ngoài khả năng của tôi .
liên quan đến những nhận xét Với:
[email protected]:~$ 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
tôi hy vọng ai đó đang sử dụng rpud trên ubuntu và có thể cung cấp bất kỳ hướng dẫn thêm về cách để có được rpud làm việc. Cảm ơn trước cho thời gian của bạn. Nếu bạn cần thêm thông tin, hãy bình luận.
EDIT 4/8/2014
Tiếp nối hương trăn, http://enja.org/category/tutorial/advcl/, tôi có thể để có được một chương trình đơn giản chạy trên GPU, python/part1 dụ chạy một cách hoàn hảo.Vì vậy, tôi biết rằng các trình điều khiển NVIDIA đang làm việc đúng cách, ít nhất là cho python. Tuy nhiên tôi vẫn chưa định vị được R đi qua mà thậm chí sẽ nhận được các gói được tải chính xác.
phát hiện thêm từ thăm dò Python: Tôi có 2 thiết bị trên máy tính hiện tại của tôi rằng cả hai công việc.
Choose device(s):
[0] <pyopencl.Device 'Tesla M2050' on 'NVIDIA CUDA' at 0x2806460>
[1] <pyopencl.Device 'Tesla M2050' on 'NVIDIA CUDA' at 0x28064b0>
* Những thể được nhìn thấy bằng cách chạy bất kỳ kịch bản python từ python GPU hướng dẫn
Sửa 4/9/2014
Biết rằng Python được giao tiếp với OpenCL khiến tôi suy nghĩ , R có thể làm như vậy không? Rõ ràng ai đó đã nghĩ điều tương tự và xây dựng gói 'OpenCL'
Vì vậy, tôi chạy install.packages('OpenCL')
và LÀM VIỆC CNTT. Sau đó chạy một số mã mẫu từ http://cran.r-project.org/web/packages/OpenCL/OpenCL.pdf CSONG LÀM VIỆC.
Tại thời điểm này, câu hỏi duy nhất tôi còn lại là, có ai khác đã thành công với giao tiếp GPU với R và nếu có, làm thế nào họ làm điều đó?
tôi sẽ gửi từng bước như một câu trả lời của tôi, nhưng rất thích nhìn thấy những cách khác.
Bạn đang sử dụng một HVM AMI với các trình điều khiển Nvidia? Có thể không có Ubuntu AMI nhưng có một số điểm khác nhau của AMI về Linux nên hoạt động – datasage
có phải chỉnh sửa gần đây nhất trả lời câu hỏi của bạn không? Tôi cũng chạy 'nvidia-smi -a' để kiểm tra xem các trình điều khiển có vui không, nó tạo ra một tệp nhật ký đẹp mà tôi có thể đính kèm nếu bạn muốn xem. –