Description
Is your feature request related to a problem? Please describe.
SingularityCE doesn't currently support the new CDI standard for making hardware devices available in containers.
The --oci
experimental runtime mode currently exposes only a naive binding approach to add devices and libraries to a container, via the --nv
and --oci
flags.
The --nv
and --oci
approach cannot support a range of functionality that is valuable, such as masking specific GPUs, introducing only subsets of device functionality into a container etc. In addition it is vendor specific, but we'd like to support e.g. Intel GPUs #1094
Describe the solution you'd like
The experimental --oci
runtime mode should support a --device
flag, allowing the user to request a device is made available in the container using a CDI configuration.
Additional context
Because --oci
mode is based on OCI runtime spec generation, and invocation of runc
/ crun
, it should be simple to implement support via spec modification carried out in the CDI module - https://github.com/container-orchestrated-devices/container-device-interface/tree/main/pkg/cdi