I’ve been reading the docs and browsing the forum, but I couldn’t get a definitive answer I can I run CUDA in emulation with no CUDA-enabled hardware; but do I need to install CUDA-enabled drivers anyway?
Ubuntu 8.04.2, kernel 2.6.24-24, gcc 4.2.4, nvidia driver 1.696 or something (installed by nvidia-glx ubuntu package); I installed the toolkit, set the path and compiled the sdk examples with “make emu=1”. No one runs: I always get the “feature not yet implemented” message, like [topic=“94651”]here[/topic]. So the answer seems to be: yes.
So I downloaded and installed the 180.22 driver (the module didn’t load until I completely removed all nvidia-* packages), and reinstalled both toolkit and sdk; compilation is ok, but this time only “simpleGL” worked: every other example (everyone using GPU, including deviceQuery) failed to initialize:
Strange thing: the first time I try to run an example, screen is shifted of a couple of pixels and some pixels are messed up until I switch to a char tty and I switch back to the wm (KDE). If i go on the extreme right with the mouse, I see the pointer on the left…! This makes me think that the libraries are trying to connect to real hardware, while they souldn’t: they are supposed to create an emulated one, am I right?
I tried installing the 180.44, but got the same error. If I try to get the deviceprops without a cudaSafeCall, the returned struct is a nonsense (nothing is initialized). Neither CUBLAS or CUFFT are loaded like [topic=“90040”]here[/topic] (but the linked libraries are correct, like [topic=“90677”]here[/topic]).
So, actually the answer is: neither…
Summary: I don’t have CUDA hardware (but a GeForce Go 7300), I can compile all the examples (and they are linked to the correct libraries and placed in the correct emurelease dir) but noone runs: initialization fails, and it seems the libraries are actually looking for CUDA hardware. Upgrading and downgrading the driver didn’t help.