Unable to instantiate CudaMgr on MX450

Hi, I got the following error:

Unable to instantiate CudaMgr, falling back to CPU-only mode. CUDA Error (100): no CUDA-capable device is detected

My set-up:
Version: centOS Free Edition GPU Tarball 5.7.0
OS: openSUSE Tumbleweed (latest version)
GPU: GeForce MX450, Driver 470.63.01, CUDA 11.4

I previously successfully installed and use the CPU edition on the same set-up. I wonder if MX450 is supported/recognized on the GPU edition? (Want to test the GPU-only features on my own machine before trying on the more powerful ones)

Hi @Laser2021,

The mx450 GPU is using a Turing architecture that would be fully supported by Omniscidb, but not having tested the DB with an MX, probably Iam missing something,so I have to ask internally.

In the meantime do you mind sharing which environment (so driver / OS) are you getting this error?

You can get the driver versions using the nvidia-smi command

Thanks for your reply. My nvidia-smi output is as follows:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.63.01    Driver Version: 470.63.01    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   46C    P8    N/A /  N/A |    538MiB /  1878MiB |     12%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1782      G   /usr/bin/Xorg.bin                 258MiB |
|    0   N/A  N/A      2039      G   /usr/bin/kwin_x11                  73MiB |
|    0   N/A  N/A      2095      G   /usr/bin/plasmashell               16MiB |
|    0   N/A  N/A      2207      G   /usr/bin/latte-dock                23MiB |
|    0   N/A  N/A      2532      G   /usr/lib/insync/insync              3MiB |
|    0   N/A  N/A      8268      G   /usr/lib64/firefox/firefox          1MiB |
|    0   N/A  N/A     16533      G   /usr/lib64/firefox/firefox        137MiB |
|    0   N/A  N/A     17666      G   ...AAAAAAAAA= --shared-files       15MiB |
+-----------------------------------------------------------------------------+

My OS is openSUSE Tumbleweed 20210902 (basically an upstream of SUSE Linux).

Could you try to use the CUDA_VISIBLE_DEVICES and run the omnisci_server command?

Or define that variable with 0 (It should be the id of the first Cuda in the system).

Are you able to run other Cuda executables in the notebook?

Regards,
Candido

Setting CUDA_VISIBLE_DEVICES to 0 1 or 2 and running the command (sudo systemctl start omnisci_server) still gives the error.

omnisci_server[18397]: 2021-09-07T21:03:53.263410 E 18397 0 0 DBHandler.cpp:406 Unable to instantiate CudaMgr, falling back to CPU-only mode. CUDA Error (100): no CUDA-capable device is detected

What do you mean by ‘other Cuda executables in the notebook’?

Hi,

I am assuming you are running the software in a notebook, because of MX GPU, so I wanted to know if you were able to run other cuda applications, like the demos you get with CUDA Toolkit.

Anyway I thought you were running the server from the command line, so to be sure you haven’t set CUDA_VISIBLE_DEVICES in your environment, so stop the server with

sudo systemctl start omnisci_server

and try to start from the command line using

/path_of_omnisci/bin/omnisci_server --data /var/lib/omnici

try running unset CUDA_VISIBLE_DEVICE and then export CUDA_VISIBLE_DEVICE=0 (1, 2, and so on).

At that stage, the CudaManagaer that return the error is just trying to get the number of GPUs in the system, and the features of them , like the memory, cuda cores etc.).

Regards,
Candido

I have successfully installed and run OmniSci GPU on Docker. Thank you for your help though!

Wow, that’s great news.

I guess we have to try to install natively into OpenSuse…probably there are some troubles with the CUDA implementation or stuff like that,
I used the OS extensively in the past, but I gave up because of the issues I faced, compared to other Linux distributions using enterprise software like Oracle.

You should get some performance bump by using the MX450 compared to CPU, but you will be limited by the lack of GPU memory; anyway, I can help you configure the system to stream data from CPU Caches/Disk if needed.

Let us knows if you are enjoying our suite.

Regards,
Candido