Commonly Encountered Problems#

Unable to import Python bindings#

Symptom#

import cuest.bindings

Yields#

Traceback (most recent call last):
File “<python-input-0>”, line 1, in <module>
import cuest.bindings
ModuleNotFoundError: No module named ‘import cuest.bindings’

Troubleshooting#

Make sure that the wheel file has been imported into the currently active Python (virtual) environment. Also ensure that appropriate CUDA runtime libraries are in LD_LIBRARY_PATH.

Import Errors#

Symptom#

import cuest.bindings

Yields#

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.31 not found

Troubleshooting#

The binary distribution was compiled with a more recent version of the C/C++ libraries than are present on the machine you’re running on. This can be fixed by running in a virtual environment like Conda with a newer compiler toolchain installed, or using a container. If you reach out to the cuEST development team, they can also provide a distribution compatible with a wider range of C environments.

Runtime Errors#

Symptom#

import cuest.bindings

Yields#

RuntimeError: (‘Unable to allocate CUDA array:’, <cudaError_t.cudaErrorInsufficientDriver: 35>)

Troubleshooting#

In general the CUDA driver on your system needs to be new enough for the CUDA toolkit used. When installing CUDA Python bindings, pip could select a newer version that demands a more modern device driver to be used. To fix this, you can specify the version of the bindings to install, e.g. pip install cuda.bindings==12.8, where the version should be chosen to correspond to a CUDA toolkit that can work with your installed device driver. Alternatively, updating the CUDA device driver will solve the problem.