Skip to content

cuda_toolkit check fails with ModuleNotFoundError: No module named 'cuda.core.system' #144

@mmccarty

Description

@mmccarty

Summary

The `cuda_toolkit` check added in #141 imports `from cuda.core.system import get_driver_version` in `_gather_toolkit_info` (cuda_toolkit.py:161). That submodule is not present in `cuda-core 0.3.2`, so the check raises `ModuleNotFoundError` at runtime on environments pinned to that version.

`cuda-core` is a transitive dependency of `cuda-pathfinder` rather than a direct declared dependency of `rapids-cli`, so environments can end up with older `cuda-core` releases that don't expose `cuda.core.system`.

Repro

```console
$ rapids doctor --verbose
...
cuda_toolkit_check failed
No module named 'cuda.core.system'
```

Full traceback:

```
File "rapids_cli/doctor/checks/cuda_toolkit.py", line 161, in _gather_toolkit_info
from cuda.core.system import get_driver_version
ModuleNotFoundError: No module named 'cuda.core.system'
```

Environment

  • `cuda-core` 0.3.2 (installed; `cuda.core` is importable but has no `system` submodule)
  • Python 3.13
  • Linux

Suggested fixes

  • Add `cuda-core` (with an appropriate minimum version that exposes `cuda.core.system.get_driver_version`) as an explicit dependency in `dependencies.yaml` / `pyproject.toml`.
  • Alternatively, fall back to `pynvml.nvmlSystemGetCudaDriverVersion` (already used elsewhere in `rapids_cli`) when `cuda.core.system` isn't available, so the toolkit check degrades gracefully on older `cuda-core`.

Found while end-to-end testing #137 on a real GPU host.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions