Skip to content

Commit 45d0df8

Browse files
authored
Merge pull request #2510 from crosbymichael/gpucaps2
Change gpu Capability type to string
2 parents 920dc79 + 81e2859 commit 45d0df8

1 file changed

Lines changed: 18 additions & 20 deletions

File tree

contrib/nvidia/nvidia.go

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,32 @@ const nvidiaCLI = "nvidia-container-cli"
3434
// Capability specifies capabilities for the gpu inside the container
3535
// Detailed explaination of options can be found:
3636
// https://github.com/nvidia/nvidia-container-runtime#supported-driver-capabilities
37-
type Capability int
37+
type Capability string
3838

3939
const (
4040
// Compute capability
41-
Compute Capability = iota + 1
41+
Compute Capability = "compute"
4242
// Compat32 capability
43-
Compat32
43+
Compat32 Capability = "compat32"
4444
// Graphics capability
45-
Graphics
45+
Graphics Capability = "graphics"
4646
// Utility capability
47-
Utility
47+
Utility Capability = "utility"
4848
// Video capability
49-
Video
49+
Video Capability = "video"
5050
// Display capability
51-
Display
51+
Display Capability = "display"
5252
)
5353

54+
var allCaps = []Capability{
55+
Compute,
56+
Compat32,
57+
Graphics,
58+
Utility,
59+
Video,
60+
Display,
61+
}
62+
5463
// WithGPUs adds NVIDIA gpu support to a container
5564
func WithGPUs(opts ...Opts) oci.SpecOpts {
5665
return func(_ context.Context, _ oci.Client, _ *containers.Container, s *specs.Spec) error {
@@ -110,7 +119,7 @@ func (c *config) args() []string {
110119
args = append(args, fmt.Sprintf("--device=%s", strings.Join(c.Devices, ",")))
111120
}
112121
for _, c := range c.Capabilities {
113-
args = append(args, fmt.Sprintf("--%s", capFlags[c]))
122+
args = append(args, fmt.Sprintf("--%s", c))
114123
}
115124
if c.LDConfig != "" {
116125
args = append(args, fmt.Sprintf("--ldconfig=%s", c.LDConfig))
@@ -122,15 +131,6 @@ func (c *config) args() []string {
122131
return args
123132
}
124133

125-
var capFlags = map[Capability]string{
126-
Compute: "compute",
127-
Compat32: "compat32",
128-
Graphics: "graphics",
129-
Utility: "utility",
130-
Video: "video",
131-
Display: "display",
132-
}
133-
134134
// Opts are options for configuring gpu support
135135
type Opts func(*config) error
136136

@@ -160,9 +160,7 @@ func WithAllDevices(c *config) error {
160160

161161
// WithAllCapabilities adds all capabilities to the container for the gpus
162162
func WithAllCapabilities(c *config) error {
163-
for k := range capFlags {
164-
c.Capabilities = append(c.Capabilities, k)
165-
}
163+
c.Capabilities = allCaps
166164
return nil
167165
}
168166

0 commit comments

Comments
 (0)