Skip to content

Commit 81e2859

Browse files
committed
Change gpu Capability type to string
This helps with mappings so that we are not translating multiple times from caller to hook. Signed-off-by: Michael Crosby <[email protected]>
1 parent ca71484 commit 81e2859

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)