Q.- How to install rCUDA?
A.- Steps to install rCUDA binaries
1. Uncompress the rCUDA package
2. Copy the rCUDAd folder to the server node (with GPU)
3. Copy the rCUDAl folder to the client(s) node(s) (without GPU)
Steps to use the rCUDA samples (Server side):
1. Run the rCUDAd executable at rCUDAd folder (See the options at rCUDA_guide in doc folder)
Steps to use the CUDA samples (in the client side):
1. Install the NVIDIA sdk
2. Go to NVIDIA_CUDA_x.x_Samples folder and compile it using EXTRA_NVCCFLAGS=-cudart=shared
3. Export the rCUDA environment variable RCUDA_DEVICE_COUNT set to the amount of GPUs available to the application
4. Export as many rCUDA environment variables RCUDA_DEVICE_X as GPUs are provided to the application in previous step (notice that the "X" in the variable is the GPU number). Each RCUDA_DEVICE_X variable must follow the syntax <server[@<port>]>[:GPUnumber] (for example RCUDA_DEVICE_0=192.168.0.1, or RCUDA_DEVICE_1=192.168.0.1:1)
5. Update the LD_LIBRARY_PATH environment variable with the path where the rCUDAl folder is (typically /$(HOME)/rCUDAl )
6. Make sure to have the rCUDA server daemon running
7. Finally you can execute the CUDA samples
Q.- While trying to compile a source code, I'm getting the error “undefined reference to cuXxxxxxXxxxxx”.
A.- “cuXxxxxxXxxxxx” are CUDA Driver API calls. Currently rCUDA only supports Runtime API calls.
Q.- I'm not able to run applications in rCUDA. I'm getting initialization errors.
1.- TCP/IP connection between host and guest, including firewall settings
2.- On the CLIENT, export RCUDA=x.x.x.x, where x.x.x.x is the IP of the rCUDA server. Server names will also work.
3.- On the CLIENT, LD_LIBRARY_PATH is pointing to the path of the rCUDA library, (e.g., /home/user/rCUDA/framework/rCUDAl or /usr/local/cuda/lib64 if you replaced the original one)
4.- Status of the rCUDA daemon on the host. You can see logs usually on /var/log/messages. In addition, for testing purposes it is usefull to run the rCUDA server in interactive and/or verbose mode: ./rCUDAd -iv
Q.- I'm getting the error “Error while loading shared libraries: libcudart.so.4.1: cannot open shared object file: No such file or directory.”
A.- This is a run-time error, stating that your LD_LIBRARY_PATH is not pointing where the rCUDA library is.
Q.- I'm not able to include rCUDA_util.h.
A.- That header file is not striclty needed to compile rCUDA applications, although offers a convenient function to setup kernel launch arguments in fewer lines of code. This is a compilation problem, solved by just adding the -I flag to the compiler: -I path/to/rCUDA_util.h (e.g., /home/user/rCUDA/util).