CUDA without a GPU?

Hi,

I’m interested in learning and experimenting with CUDA, but would like to get a taste before investing in a modest GPU (and socket to put it in).

How far am I going to get by compiling CUDA code to run exclusively on a Core 2 Duo CPU? Performance is of no interest at this stage. I’m just hoping to get some ‘pretendy’ programming experience with the CUDA GPU computational architecture. Would it be worth installing a GPU driverless development environment and having a go?

Also, what are the merits of adopting each of the various free and CUDA supported Linux distributions as a development platform? I’ve used earlier Fedora releases, so would FC13 yield a fairly pain free introduction to CUDA?

Thanks for your interest, and any direction that you may be able to provide.

T.

Hi,

I’m interested in learning and experimenting with CUDA, but would like to get a taste before investing in a modest GPU (and socket to put it in).

How far am I going to get by compiling CUDA code to run exclusively on a Core 2 Duo CPU? Performance is of no interest at this stage. I’m just hoping to get some ‘pretendy’ programming experience with the CUDA GPU computational architecture. Would it be worth installing a GPU driverless development environment and having a go?

Also, what are the merits of adopting each of the various free and CUDA supported Linux distributions as a development platform? I’ve used earlier Fedora releases, so would FC13 yield a fairly pain free introduction to CUDA?

Thanks for your interest, and any direction that you may be able to provide.

T.

Hopefully useful postscript:

I’ve just heard back from a kindly Professor that teaches CUDA programming at college. Apparently, when no GPU is available, many of his computing students get their introduction to CUDA development by practicing with code compiled to run on the host CPU only. There were no specifics, but it came as a recommended first-steps approach.

T.

Hopefully useful postscript:

I’ve just heard back from a kindly Professor that teaches CUDA programming at college. Apparently, when no GPU is available, many of his computing students get their introduction to CUDA development by practicing with code compiled to run on the host CPU only. There were no specifics, but it came as a recommended first-steps approach.

T.

Just install the toolkit only and run the following to compile your CUDA code to run on the CPU.

nvcc -deviceemu <filename>.cu

Just install the toolkit only and run the following to compile your CUDA code to run on the CPU.

nvcc -deviceemu <filename>.cu

Device emulation was removed from CUDA 3.1, so you will have to go back to CUDA 3.0 to use it.

Device emulation was removed from CUDA 3.1, so you will have to go back to CUDA 3.0 to use it.

:-( That’s sad, but I very much appreciate you saving me a fruitless install of the 3.2 SDK.

Oh, well. What about programming IDE’s. I had a look at Anjuta, but integrating a non-C/C++/Fortran/… compiler looks difficult. What are some of the other, possibly more suitable, options under Linux?

T.

:-( That’s sad, but I very much appreciate you saving me a fruitless install of the 3.2 SDK.

Oh, well. What about programming IDE’s. I had a look at Anjuta, but integrating a non-C/C++/Fortran/… compiler looks difficult. What are some of the other, possibly more suitable, options under Linux?

T.

Hi! I´m starting in the Cuda programming world (i´m doing my final project with that), but by this time i had only probs.
I don´t have any GPU device so i try to compile with -deviceemu flag, at least at first till the moment i´ll get a GPU,

But the compiler tell me something like that:
“CUDA driver version is insufficient for CUDA runtime version”

Any idea? i´m looking desperate for this drivers, but i have no idea which one is, due to i dont have any GPU device.

Thanks very much,

p.s: im using win vista at this moment, i´ve realised this forum is for linux, but i think the problem doesn´t care about OS.

  1. There is no device emulation in any toolkit newer than 3.0
  1. The compiler will never report an error like that. That comes from the runtime API when you are running code, and it means that the driver you have is too old for the toolkit you are using.
  1. The version of the driver you need to match your toolkit is OS specific, and the correct driver/toolkit combination isn’t necessarily the same for Linux as Vista.

But wich driver do i have to download if i dont have any Nvidia GPU card.

Thanks for the quickly reply.

None. If you don’t have a card, you can’t use any current version of CUDA.

Sorry if i look like a dumb, but i explain my situation again:

I´ve a notebook without any nvidia.

I write some code .cu

I compile it with nvcc -deviceemu (it translates to x86 i thought)

It generates some executable file wich i can run in my PC

In wich point im wrong?

When i execute this executable it show me the error i wrote before.

There is no longer any device emulation support in the CUDA runtime API libraries (which is how device emulation worked, there is no “x86 translation”, just a different set of API libraries which provided a runtime framework based on host threads). If you are trying to run code compiled with the CUDA 3.1 or 3.2 toolkits without a GPU, you cannot.

If you want to use emulation mode, you have two options:

  1. Use an old toolkit ( <= 3.0).

  2. Use CUDA Fortran, PGI has its own emulation mode.