nvidia-container-toolkit/cmd/nvidia-cdi-hook
Evan Lezar 11cd8be986
Add cuda-compat hook to allow compat libs to be discovered
This change adds an nvidia-cdi-hook cuda-compat hook that checks the
container for cuda compat libs and updates /etc/ld.so.conf.d to include their
parent folder if their driver major version is sufficient.

This allows CUDA Forward Compatibility to be used when this is not available
through the libnvidia-container.

Signed-off-by: Evan Lezar <elezar@nvidia.com>
2025-02-24 10:58:24 +02:00
..
chmod
commands Add cuda-compat hook to allow compat libs to be discovered 2025-02-24 10:58:24 +02:00
create-symlinks Force symlink creation in create-symlink hook 2024-11-05 09:39:11 -08:00
cudacompat Add cuda-compat hook to allow compat libs to be discovered 2025-02-24 10:58:24 +02:00
update-ldcache Increase priority of ld.so.conf.d config file 2024-06-13 13:49:14 +02:00
main.go
README.md

NVIDIA CDI Hook

The CLI nvidia-cdi-hook provides container device runtime hook capabilities when called by a container runtime, as specific in a Container Device Interface file.

Generating a CDI

The CDI itself is created for an NVIDIA-capable device using the nvidia-ctk cdi generate command.

When nvidia-ctk cdi generate is run, the CDI specification is generated as a yaml file. The CDI specification provides instructions for a container runtime to set up devices, files and other resources for the container prior to starting it. Those instructions may include executing command-line tools to prepare the filesystem. The execution of such command-line tools is called a hook.

nvidia-cdi-hook is the CLI tool that is expected to be called by the container runtime, when specified by the CDI file.

See the nvidia-ctk documentation for more information on generating a CDI file.

Functionality

The nvidia-cdi-hook CLI provides the following functionality:

  • chmod - Change the permissions of a file or directory inside the directory path to be mounted into a container.
  • create-symlinks - Create symlinks inside the directory path to be mounted into a container.
  • update-ldcache - Update the dynamic linker cache inside the directory path to be mounted into a container.