Running CUDA programs on Quadro K620m - cuda

I have laptop which has Quadro K620m GPU. I am trying to learn CUDA programming and downloaded the network installer from NVIDIA site.
During CUDA SDK installation, just when its checking the hardware of the machine, it displays
Do you want to Continue?
This graphics driver could not find compatible graphics hardware. You may continue installation, but you will not be able to run CUDA applications.
Any thoughts why this could be happening? In my computer's device manager, I can see NVIDIA Quadro K620m in the display adapter listing.
Thank you.

This is normal, when the driver packaged in the CUDA installer is "older" than your GPU.
You should retain your current GPU driver, and go ahead with the CUDA toolkit installation, but de-select the option to install the GPU driver.
Your existing driver should work fine.

Related

Running CUDA on a virtual machine without a physical NVidia GPU card

Is it possible to run a CUDA program on a virtual machine without having a physical NVidia GPU card on the host machine?
PCIe passthrough is only viable if the host machine has an NVidia card and that's not available.
One possible option to run CUDA programs without a GPU installed is to use an emulator/simulator (ex: http://gpgpu-sim.org/ ) but these simulators are usually limited.
I would appreciate a clear answer on that matter.
Thanks!
You can't run any modern version of CUDA (e.g. 6.0 or newer) unless you have actual GPU hardware available on the machine or virtual machine.
The various simulators and other methods all depend on very old versions of CUDA.

Nvidia Control Panel not working after installing CUDA Toolkit 8.0

I am new to CUDA Development. I installed CUDA Toolkit 8.0 on my laptop running Windows 10 home and has a GTX 960M. Before Installing CUDA Toolkit, the context menu on desktop (right-click on desktop) used to have an option to access Nvidia Control Panel. And there also used to be system tray icons for accessing GeForce experience and GPU Activity status icon.
But after Installing CUDA Toolkit, these icons and options are no longer visible. And when I try to launch the Nvidia control panel from the System Control Panel, an error dialog box appears stating - "Nvidia Display Settings are not available. You are not currently using a display attached to Nvidia GPU."
I don't understand what this means. Did I mess-up the CUDA Toolkit Installation? Do I have to re-install the Display Drivers and the CUDA Toolkit?
Note: During the installation, I deselected the Display Driver, GeForce Experience and PhysX from the options because I already had their latest up-to-date versions installed on the system.
The Nvidia drivers provided with CUDA toolkit are really old; newer Nvidia drivers are available from the website. The same goes with NSight Visual Studio plugin.
I generally install CUDA toolkit first, then update the Drivers and Nsight through separate installation.
You just need to reinstalled the Nvidia drivers.

Can I compile a cuda program without having a cuda device

Is it possible to compile a CUDA program without having a CUDA capable device on the same node, using only NVIDIA CUDA Toolkit...?
The answer to your question is YES.
The nvcc compiler driver is not related to the physical presence of a device, so you can compile CUDA codes even without a CUDA capable GPU. Be warned however that, as remarked by Robert Crovella, the CUDA driver library libcuda.so (cuda.lib for Windows) comes with the NVIDIA driver and not with the CUDA toolkit installer. This means that codes requiring driver APIs (whose entry points are prefixed with cu, see Appendix H of the CUDA C Programming Guide) will need a forced installation of a "recent" driver without the presence of an NVIDIA GPU, running the driver installer separately with the --help command line switch.
Following the same rationale, you can compile CUDA codes for an architecture when your node hosts a GPU of a different architecture. For example, you can compile a code for a GeForce GT 540M (compute capability 2.1) on a machine hosting a GT 210 (compute capability 1.2).
Of course, in both the cases (no GPU or GPU with different architecture), you will not be able to successfully run the code.
For the early versions of CUDA, it was possible to compile the code under an emulation modality and run the compiled code on a CPU, but device emulation is since some time deprecated. If you don't have a CUDA capable device, but want to run CUDA codes you can try using gpuocelot (but I don't have any experience with that).

CUDA driver 4.2 version mismatch? 295.40 vs 295.41

I'm trying to install CUDA 4.2 on my Alienware Aurora desktop system. It's running Ubuntu 12.04, and Linux kernel 3.2.0-32 with an Nvidia GTX 690. I am able to install the CUDA SDK and display driver without issue. However, when Xorg starts, it dies with this error:
Error: API mismatch: the NVIDIA kernel module has version 295.40, but the NVIDIA driver component has version 295.41. Please make sure that the kernel module and all NVIDIA driver components have the same version.
The same thing happens when trying to run a CUDA application. Any thoughts? I have a lab of over a dozen other CUDA workstations which don't have this problem, but are also running Ubuntu 10.10.
In short: Ubuntu 12 is not yer supported distro.
If you still want to run cuda on usupported platform and expose yourself to other such problems see answer https://stackoverflow.com/a/13062766/56875

Cuda driver initialization failed

I have a two gpu system, a Geforce 8400 GS and Geforce GT 520. I am able to run my cuda programs on both the gpus. But when I use cuda-gdb to debug them I get an error saying that the Cuda driver initialization failed. Also, when I run the program with cuda-gdb, the cudaGetDeviceCount says I have only 1 gpu. I am able to run the programs on either of the gpus if I am not using cuda-gdb. Can somebody help me with this?
I am running Ubuntu 11.04.
It looks like you have a display driver version older than the one required by the CUDA Toolkit. Make sure you installed the display driver downloaded from the same download page you got your toolkit from.
cuda-gdb will hide from the application being debugged GPUs used to run your desktop environment. Otherwise the desktop environment might've hanged when the application is suspended on the breakpoint. To see both GPUs in cuda-gdb you need to run without desktop environment.