Support for local single GPU debugging - cuda

Which combinations of GPU hardware, operating systems and NVIDIA software / drivers support local, single GPU debugging?

Single-GPU debugging works:
On Windows using Nsight Visual Studio edition.
On Mac or Linux when running in console mode (e.g. without windowing environments)
Also note that both GPUs do not need to be CUDA GPUs - e.g. we have tested several Linux setups that have Intel and NVIDIA GPUs with Intel driving the OS UI.

Related

Running 32-bit application on CUDA

I read on the CUDA toolkit documentation (11.3.0) that "Deployment and execution of CUDA applications on x86_32 is still supported, but is limited to use with GeForce GPUs."
This looks in conflict with the fact that I was able to run a 32-bit app on my Tesla T4. (I verified that the code was actually running on the GPU and the app was 32-bit).
Have I misinterpreted the documentation? Why am I able to run 32-bit apps on a Tesla GPU?
(I'm running Visual studio 2017 on Windows 10)
It's a question of what is supported.
Other things may work, or they may not.

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.

Running CUDA programs on Quadro K620m

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.

How to emulate CUDA on windows

is there any way I can test the CUDA samples and codes from a computer with no NVIDIA graphic card?
I am using Windows and the latest version of CUDA.
There are several possibilities:
Use older version of CUDA, which has built-in emulator (2.3 has it for sure). Emulator is far from good, and you won't have features from latest CUDA releases.
Use OpenCL, it can run on CPUs (though not with nVidia SDK, you will have to install either AMD or Intel OpenCL implementation (AMD works fine on Intel CPUs, btw)). In my experience, OpenCL is usually slightly slower than CUDA.
There is windows branch of Ocelot emulator: http://code.google.com/p/gpuocelot/. I haven't tried it, though.
However, I would recommend buying some CUDA-capable card. 8xxx or 9xxx series is ok and really cheap. Emulation would allow you to get some basic skills of GPGPU programming, but is useless when you write some real-world application since it doesn't allow you to debug and tune performance.

NVIDIA CUDA: What is the developer driver?

To develop NVIDIA CUDA programs, the tools needed are:
Developer drivers
CUDA Toolkit
GPU Computing SDK
What is this developer driver? Installing it silently overrides any NVIDIA graphics driver that is already installed. So, how is the developer driver different from the usual NVIDIA graphics driver? What extra components or functionality does it contain?
The developer driver is available in both 32-bit and 64-bit flavours. If I am developing 32-bit Visual C++/CUDA projects on 64-bit Windows 7, which flavour of the developer driver do I choose? Why?
From the developer download page:
Note: The developer driver packages below provide baseline support for the widest number of NVIDIA products in the smallest number of installers. More recent production driver packages for developers and end users may be available at www.nvidia.com/drivers.
The developer driver is released with the Toolkit and is intended to have wide support for all CUDA capable devices. On the other hand the drivers on the main driver page are released as appropriate; the main drivers have full support for CUDA, but each one may support a subset of devices.
Incidentally, when you install a NVIDIA driver it tells you what version is currently installed and what version you're installing (unless you choose a silent install!).