2
votes

I'm trying to do some CUDA development on a PC without CUDA-capable GPU via emulation mode. The OS is Linux Mint Debian (can be considered Debian testing for all practical purposes) 32bit (2.6.32-5-686 kernel). Here's what I did so far:

echo "# CUDA stuff PATH=\$PATH:/usr/local/cuda/bin LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/cuda/lib export PATH export LD_LIBRARY_PATH" >> ~/.bashrc

  • Added the path to /etc/ld.so.conf.d/cuda.conf: /usr/local/cuda/lib

  • Executed "sudo ldconfig"

  • Restarted the session

  • Then installed the SDK in /home/user/NVIDIA_GPU_Computing_SDK folder

  • When I got to NVIDIA_GPU_Computing_SDK/C and type "make emu=1" to compile the examples I get:

nvcc warning : option 'device-emulation' has been deprecated and is ignored /usr/bin/ld: cannot find -lcudartemu /usr/bin/ld: cannot find -lcudartemu collect2: ld returned 1 exit status

Seems like a library missing (rt = runtime ?). There is libcudart3 in the package manager, but wants a whole bunch of nvidia stuff as a dependency, including drivers and I don't even have an NVIDIA card on this machine. Also apparently the GPU emulation is now deprecated... Does anybody have some experience with CUDA emulation?

2

2 Answers

3
votes

There is no emulation in CUDA any more. It was deprecated and removed during the 3.x release cycle. There is no emulation support beyond CUDA 3.1 IIRC. Certainly there is nothing you can do in CUDA 4.0.

On Linux, your best bet is to try gpuocelot, which provides a PTX level emulation on x86 processors and a reimplementation of the CUDA APIs.

0
votes

Although I agree with the suggestion to try Ocelot, when I was in the same boat I found it easiest to go on eBay and get a cheap CUDA capable card to use for testing (I think I paid < $40). If you have the ability to open the hardware (I realize this isn't an option for some people) and to install drivers, that's what I'd suggest.