Documentation ¶
Index ¶
- Constants
- Variables
- func IsPrivileged(s *specs.Spec) bool
- type CUDA
- func (i CUDA) CDIDevicesFromMounts() []string
- func (i CUDA) DevicesFromEnvvars(envVars ...string) VisibleDevices
- func (i CUDA) DevicesFromMounts() []string
- func (i CUDA) GetDriverCapabilities() DriverCapabilities
- func (i CUDA) GetRequirements() ([]string, error)
- func (i CUDA) Getenv(key string) string
- func (i CUDA) HasDisableRequire() bool
- func (i CUDA) HasEnvvar(key string) bool
- func (i CUDA) ImexChannelsFromEnvVar() []string
- func (i CUDA) ImexChannelsFromMounts() []string
- func (i CUDA) IsLegacy() bool
- func (i CUDA) OnlyFullyQualifiedCDIDevices() bool
- func (i CUDA) VisibleDevicesFromEnvVar() []string
- func (i CUDA) VisibleDevicesFromMounts() []string
- type DriverCapabilities
- func (c DriverCapabilities) Any(capabilities ...DriverCapability) bool
- func (c DriverCapabilities) Has(capability DriverCapability) bool
- func (c DriverCapabilities) Intersection(s2 DriverCapabilities) DriverCapabilities
- func (c DriverCapabilities) IsAll() bool
- func (c DriverCapabilities) IsSuperset(s2 DriverCapabilities) bool
- func (c DriverCapabilities) List() []string
- func (c DriverCapabilities) String() string
- type DriverCapability
- type Option
- type VisibleDevices
Constants ¶
const ( EnvVarCudaVersion = "CUDA_VERSION" EnvVarNvidiaDisableRequire = "NVIDIA_DISABLE_REQUIRE" EnvVarNvidiaDriverCapabilities = "NVIDIA_DRIVER_CAPABILITIES" EnvVarNvidiaImexChannels = "NVIDIA_IMEX_CHANNELS" EnvVarNvidiaMigConfigDevices = "NVIDIA_MIG_CONFIG_DEVICES" EnvVarNvidiaMigMonitorDevices = "NVIDIA_MIG_MONITOR_DEVICES" EnvVarNvidiaRequireCuda = NvidiaRequirePrefix + "CUDA" EnvVarNvidiaRequireJetpack = NvidiaRequirePrefix + "JETPACK" EnvVarNvidiaVisibleDevices = "NVIDIA_VISIBLE_DEVICES" NvidiaRequirePrefix = "NVIDIA_REQUIRE_" )
const (
DeviceListAsVolumeMountsRoot = "/var/run/nvidia-container-devices"
)
Variables ¶
var ( // DefaultDriverCapabilities sets the value for driver capabilities if no value is set. DefaultDriverCapabilities = NewDriverCapabilities("utility,compute") // SupportedDriverCapabilities defines the set of all supported driver capabilities. SupportedDriverCapabilities = NewDriverCapabilities("compute,compat32,graphics,utility,video,display,ngx") )
Functions ¶
func IsPrivileged ¶ added in v1.13.0
func IsPrivileged(s *specs.Spec) bool
IsPrivileged returns true if the container is a privileged container.
Types ¶
type CUDA ¶
type CUDA struct {
// contains filtered or unexported fields
}
CUDA represents a CUDA image that can be used for GPU computing. This wraps a map of environment variable to values that can be used to perform lookups such as requirements.
func NewCUDAImageFromEnv ¶
NewCUDAImageFromEnv creates a CUDA image from the input environment. The environment is a list of strings of the form ENVAR=VALUE.
func NewCUDAImageFromSpec ¶
NewCUDAImageFromSpec creates a CUDA image from the input OCI runtime spec. The process environment is read (if present) to construc the CUDA Image.
func (CUDA) CDIDevicesFromMounts ¶ added in v1.15.0
CDIDevicesFromMounts returns a list of CDI devices specified as mounts on the image.
func (CUDA) DevicesFromEnvvars ¶ added in v1.11.0
func (i CUDA) DevicesFromEnvvars(envVars ...string) VisibleDevices
DevicesFromEnvvars returns the devices requested by the image through environment variables
func (CUDA) DevicesFromMounts ¶ added in v1.15.0
DevicesFromMounts returns a list of device specified as mounts. TODO: This should be merged with getDevicesFromMounts used in the NVIDIA Container Runtime
func (CUDA) GetDriverCapabilities ¶ added in v1.12.0
func (i CUDA) GetDriverCapabilities() DriverCapabilities
GetDriverCapabilities returns the requested driver capabilities.
func (CUDA) GetRequirements ¶
GetRequirements returns the requirements from all NVIDIA_REQUIRE_ environment variables.
func (CUDA) Getenv ¶ added in v1.15.0
Getenv returns the value of the specified environment variable. If the environment variable is not specified, an empty string is returned.
func (CUDA) HasDisableRequire ¶
HasDisableRequire checks for the value of the NVIDIA_DISABLE_REQUIRE. If set to a valid (true) boolean value this can be used to disable the requirement checks
func (CUDA) HasEnvvar ¶ added in v1.15.0
HasEnvvar checks whether the specified envvar is defined in the image.
func (CUDA) ImexChannelsFromEnvVar ¶ added in v1.17.0
ImexChannelsFromEnvVar returns the list of IMEX channels requested for the image.
func (CUDA) ImexChannelsFromMounts ¶ added in v1.17.0
ImexChannelsFromMounts returns the list of IMEX channels requested for the image.
func (CUDA) IsLegacy ¶
IsLegacy returns whether the associated CUDA image is a "legacy" image. An image is considered legacy if it has a CUDA_VERSION environment variable defined and no NVIDIA_REQUIRE_CUDA environment variable defined.
func (CUDA) OnlyFullyQualifiedCDIDevices ¶ added in v1.15.0
OnlyFullyQualifiedCDIDevices returns true if all devices requested in the image are requested as CDI devices/
func (CUDA) VisibleDevicesFromEnvVar ¶ added in v1.17.0
VisibleDevicesFromEnvVar returns the set of visible devices requested through the NVIDIA_VISIBLE_DEVICES environment variable.
func (CUDA) VisibleDevicesFromMounts ¶ added in v1.17.0
VisibleDevicesFromMounts returns the set of visible devices requested as mounts.
type DriverCapabilities ¶ added in v1.12.0
type DriverCapabilities map[DriverCapability]bool
DriverCapabilities represents the NVIDIA_DRIVER_CAPABILITIES set for the specified image.
func NewDriverCapabilities ¶ added in v1.14.0
func NewDriverCapabilities(capabilities ...string) DriverCapabilities
NewDriverCapabilities creates a set of driver capabilities from the specified capabilities
func (DriverCapabilities) Any ¶ added in v1.12.0
func (c DriverCapabilities) Any(capabilities ...DriverCapability) bool
Any checks whether any of the specified capabilities are set
func (DriverCapabilities) Has ¶ added in v1.12.0
func (c DriverCapabilities) Has(capability DriverCapability) bool
Has check whether the specified capability is selected.
func (DriverCapabilities) Intersection ¶ added in v1.14.0
func (c DriverCapabilities) Intersection(s2 DriverCapabilities) DriverCapabilities
Intersection returns a new set which includes the item in BOTH d and s2. For example: d = {a1, a2} s2 = {a2, a3} s1.Intersection(s2) = {a2}
func (DriverCapabilities) IsAll ¶ added in v1.14.0
func (c DriverCapabilities) IsAll() bool
IsAll indicates whether the set of capabilities is `all`
func (DriverCapabilities) IsSuperset ¶ added in v1.14.0
func (c DriverCapabilities) IsSuperset(s2 DriverCapabilities) bool
IsSuperset returns true if and only if d is a superset of s2.
func (DriverCapabilities) List ¶ added in v1.14.0
func (c DriverCapabilities) List() []string
List returns the list of driver capabilities. The list is sorted.
func (DriverCapabilities) String ¶ added in v1.14.0
func (c DriverCapabilities) String() string
String returns the string repesentation of the driver capabilities.
type DriverCapability ¶ added in v1.12.0
type DriverCapability string
DriverCapability represents the possible values of NVIDIA_DRIVER_CAPABILITIES
const ( DriverCapabilityAll DriverCapability = "all" DriverCapabilityNone DriverCapability = "none" DriverCapabilityCompat32 DriverCapability = "compat32" DriverCapabilityCompute DriverCapability = "compute" DriverCapabilityDisplay DriverCapability = "display" DriverCapabilityGraphics DriverCapability = "graphics" DriverCapabilityNgx DriverCapability = "ngx" DriverCapabilityUtility DriverCapability = "utility" DriverCapabilityVideo DriverCapability = "video" )
Constants for the supported driver capabilities
type Option ¶ added in v1.14.0
type Option func(*builder) error
Option is a functional option for creating a CUDA image.
func WithDisableRequire ¶ added in v1.14.0
WithDisableRequire sets the disable require option.
func WithEnv ¶ added in v1.14.0
WithEnv sets the environment variables to use when creating the CUDA image. Note that this also overwrites the values set with WithEnvMap.
func WithEnvMap ¶ added in v1.15.0
WithEnvMap sets the environment variable map to use when creating the CUDA image. Note that this also overwrites the values set with WithEnv.
func WithMounts ¶ added in v1.15.0
func WithMounts(mounts []specs.Mount) Option
WithMounts sets the mounts associated with the CUDA image.
type VisibleDevices ¶ added in v1.12.0
VisibleDevices represents the devices selected in a container image through the NVIDIA_VISIBLE_DEVICES or other environment variables
func NewVisibleDevices ¶ added in v1.12.0
func NewVisibleDevices(envvars ...string) VisibleDevices
NewVisibleDevices creates a VisibleDevices based on the value of the specified envvar.