After "a lot of pain" I managed to install all drivers to run CUDA on Ubuntu 16.04. I am having a NVIDIA GeForce 940M graphics adapter. It should have 4GB of memory, but the system informs:

Detected 1 CUDA Capable device(s)

Device 0: "GeForce 940M"
  CUDA Driver Version / Runtime Version          8.0 / 8.0
  CUDA Capability Major/Minor version number:    5.0
  Total amount of global memory:                 2002 MBytes(2099642368 bytes)
  ( 3) Multiprocessors, (128) CUDA Cores/MP:     384 CUDA Cores
  GPU Max Clock rate:                            1176 MHz (1.18 GHz)
  Memory Clock rate:                             900 Mhz
  Memory Bus Width:                              64-bit
  L2 Cache Size:                                 1048576 bytes

It says only 2 GB - why? I also have an integrated Intel graphics chip:

$: lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 07)

Can I "trick the system" to use only the integrated Intel graphics card, so that I can use the whole power of the NVIDIA GPU in order to run my computations (I am using cuDNN and tensorflow)?

I am not very experienced with these hardware aspects, so I apologize if the question is stupid.


First of all : there are no "stupid questions" - there are only questions and your question is valid, so no reason to apologize. You can't use more than 2 GB additional GPU memory because your dedicated graphics card has a dedicated memory of 2 GB, as you can see in the specifications of the NVIDIA GEFORCE 940M graphics adapter. It has nothing to do with the 4 GB RAM (Random Access Memory) of the system, which I assume you are referring to - the information is correct.

NVIDIA CUDA Zone : CUDA is a parallel computing platform and programming model invented by NVIDIA. It enables dramatic increases in computing performance by harnessing the power of the graphics processing unit. It can be used on NVIDIA GPU's only, not with integrated intel graphics. This means that you can just use the additional amount of 2 GB - no chance to "trick the system".

  • Thanks for the answer! Can I at least shutdown the GUI (terminal is enough for me) so that it does not take up the dedicated memory? – cubeception Mar 14 '17 at 7:21
  • @cubeception You're welcome ! Instead of logging in to the desktop environment (GUI), you can login to a virtual console by pressing Ctrl + Alt + F1 when the login screen appears after booting the system or after looging out of the desktop session. :) – cl-netbox Mar 14 '17 at 8:14
  • @cl-netbox That only moves to a different screen, not terminating the GUI. – Mark Yisri Mar 21 '17 at 8:17
  • 1
    @MarkYisri Disable booting to X (GUI) with sudo systemctl set-default multi-user.target and enable booting to X (GUI) with sudo systemctl set-default graphical.target ! :) – cl-netbox Mar 21 '17 at 8:55

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.