You have to install the drivers for your integrated onboard gpu. This can be done by booting up while using iGPU from bios
settings, and your pc shall be able to load the drivers it needs on
its own. For my Ivy bridge, the bios settings are these:
Go to bios by repeatedly pressing del on startup.
Go to Advanced Mode by pressing F7 or by mouse clicking the
respective option
Go to Advanced tab,System Agent, and enable as primary the iGPU, and
the multi-monitor support.
You boot with the iGPU (mine was HD4000), check that all is ok, but now you see the problem mentioned: CUDA devices can't be found/used (Except Tesla, i think, since they are not considered display and so they have nothing to do with this). Normally, you can find the discrete gpu under the device manager and update it manually from there. Then, CUDA should be able to spot your gpu. If that doesn't work, proceed to step 3.
You reboot, go to bios again, select as primary the PCI-E card, and boot. You should be now using the nvidia card and everything should be normal, but still no way to use both iGPU and Nvidia. While using Nvidia card, go to device manager, find Intel iGPU in display devices, and perform a driver update. This is needed despite the fact that we have already let intel get its own drivers on the previous steps.
When done, go to boot menu again, use as primary the iGPU, plug your display in it, and now, when using it, CUDA will be able to see the NVIDIA card and perform computations in it, while the display uses the iGPU, and the system remains responsive! I think this can also be used for gaming, or other performance reasons, like Dual monitors on integrated (onboard GPU) and discrete GPU.