diff --git a/cmd/nvidia-device-plugin/main.go b/cmd/nvidia-device-plugin/main.go index 52b219e9c..7aee63fb1 100644 --- a/cmd/nvidia-device-plugin/main.go +++ b/cmd/nvidia-device-plugin/main.go @@ -103,16 +103,19 @@ func main() { }, &cli.BoolFlag{ Name: "gdrcopy-enabled", + Value: true, Usage: "ensure that containers that request NVIDIA GPU resources are started with GDRCopy support", EnvVars: []string{"GDRCOPY_ENABLED"}, }, &cli.BoolFlag{ Name: "gds-enabled", + Value: true, Usage: "ensure that containers that request NVIDIA GPU resources are started with GPUDirect Storage support", EnvVars: []string{"GDS_ENABLED"}, }, &cli.BoolFlag{ Name: "mofed-enabled", + Value: true, Usage: "ensure that containers that request NVIDIA GPU resources are started with MOFED support", EnvVars: []string{"MOFED_ENABLED"}, }, diff --git a/internal/plugin/server.go b/internal/plugin/server.go index a9d4c8868..8d089fca6 100644 --- a/internal/plugin/server.go +++ b/internal/plugin/server.go @@ -336,6 +336,16 @@ func (plugin *nvidiaDevicePlugin) getAllocateResponse(requestIds []string) (*plu plugin.updateResponseForMPS(response) } + if plugin.config.Flags.GDRCopyEnabled != nil && *plugin.config.Flags.GDRCopyEnabled { + response.Envs["NVIDIA_GDRCOPY"] = "enabled" + } + if plugin.config.Flags.GDSEnabled != nil && *plugin.config.Flags.GDSEnabled { + response.Envs["NVIDIA_GDS"] = "enabled" + } + if plugin.config.Flags.MOFEDEnabled != nil && *plugin.config.Flags.MOFEDEnabled { + response.Envs["NVIDIA_MOFED"] = "enabled" + } + // The following modifications are only made if at least one non-CDI device // list strategy is selected. if plugin.deviceListStrategies.AllCDIEnabled() { @@ -352,15 +362,6 @@ func (plugin *nvidiaDevicePlugin) getAllocateResponse(requestIds []string) (*plu if plugin.config.Flags.Plugin.PassDeviceSpecs != nil && *plugin.config.Flags.Plugin.PassDeviceSpecs { response.Devices = append(response.Devices, plugin.apiDeviceSpecs(*plugin.config.Flags.NvidiaDevRoot, requestIds)...) } - if plugin.config.Flags.GDRCopyEnabled != nil && *plugin.config.Flags.GDRCopyEnabled { - response.Envs["NVIDIA_GDRCOPY"] = "enabled" - } - if plugin.config.Flags.GDSEnabled != nil && *plugin.config.Flags.GDSEnabled { - response.Envs["NVIDIA_GDS"] = "enabled" - } - if plugin.config.Flags.MOFEDEnabled != nil && *plugin.config.Flags.MOFEDEnabled { - response.Envs["NVIDIA_MOFED"] = "enabled" - } return response, nil }