NVIDIA / NVIDIA/nvidia-container-toolkit
Detect minimum required GLIBC version for injected drivers
Open
@elezar is already working on this.
Since Jun 14, 2024.
feature
lifecycle/frozen
- Dominant language
- Go
- Stars
- 4.6k
- Forks
- 592
- Avg merge
- 1d 33m
- Merged PRs (30d)
- 61
Description
For newer Tegra-based systems certain driver files have specific GLIBC requirements. For example:
root@11320b0ce1f0:/# LD_PRELOAD=/usr/lib/aarch64-linux-gnu/tegra/libnvidia-ml.so.1 nvidia-smi
nvidia-smi: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/aarch64-linux-gnu/tegra/libnvrm_gpu.so)
nvidia-smi: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/aarch64-linux-gnu/tegra/libnvrm_surface.so)
nvidia-smi: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/aarch64-linux-gnu/tegra/libnvrm_sync.so)
nvidia-smi: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/aarch64-linux-gnu/tegra/libnvos.so)
nvidia-smi: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/aarch64-linux-gnu/tegra/libnvos.so)
nvidia-smi: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/aarch64-linux-gnu/tegra/libnvsciipc.so)
nvidia-smi: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/lib/aarch64-linux-gnu/tegra/libnvsciipc.so)
This means that certain container images are not compatible with this driver.
This information is not directly available to the user and would manifest in the forms of errors such as:
cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
We could improve the user experience around this by:
- Implementing a hook that checks for a minimum glibc version in a container. We could extract the required version when generating CDI specifications.
- Implementing a CLI to check whether a container is compatible with a particular driver.
See also:
- Bug 4701340
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.