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:
- Grabbed the CUDA Toolkit 32 bit and SDK for Ubuntu from http://developer.nvidia.com/cuda-toolkit-40
- Installed the CUDA Toolkit in /usr/local/cuda/lib
- Added the paths to bashrc
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?
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.