File tree Expand file tree Collapse file tree 2 files changed +13
-3
lines changed
cmd/nvidia-container-runtime-hook Expand file tree Collapse file tree 2 files changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -140,6 +140,7 @@ func (c *hookConfig) assertModeIsLegacy() error {
140
140
mr := info .NewRuntimeModeResolver (
141
141
info .WithLogger (& logInterceptor {}),
142
142
info .WithImage (& c .containerConfig .Image ),
143
+ info .WithDefaultMode (info .RuntimeModeLegacy ),
143
144
)
144
145
145
146
mode := mr .ResolveRuntimeMode (c .NVIDIAContainerRuntimeConfig .Mode )
Original file line number Diff line number Diff line change @@ -42,10 +42,17 @@ type modeResolver struct {
42
42
// TODO: This only needs to consider the requested devices.
43
43
image * image.CUDA
44
44
propertyExtractor info.PropertyExtractor
45
+ defaultMode RuntimeMode
45
46
}
46
47
47
48
type Option func (* modeResolver )
48
49
50
+ func WithDefaultMode (defaultMode RuntimeMode ) Option {
51
+ return func (mr * modeResolver ) {
52
+ mr .defaultMode = defaultMode
53
+ }
54
+ }
55
+
49
56
func WithLogger (logger logger.Interface ) Option {
50
57
return func (mr * modeResolver ) {
51
58
mr .logger = logger
@@ -65,7 +72,9 @@ func WithPropertyExtractor(propertyExtractor info.PropertyExtractor) Option {
65
72
}
66
73
67
74
func NewRuntimeModeResolver (opts ... Option ) RuntimeModeResolver {
68
- r := & modeResolver {}
75
+ r := & modeResolver {
76
+ defaultMode : RuntimeModeJitCDI ,
77
+ }
69
78
for _ , opt := range opts {
70
79
opt (r )
71
80
}
@@ -106,9 +115,9 @@ func (m *modeResolver) ResolveRuntimeMode(mode string) (rmode RuntimeMode) {
106
115
107
116
switch nvinfo .ResolvePlatform () {
108
117
case info .PlatformNVML , info .PlatformWSL :
109
- return RuntimeModeJitCDI
118
+ return m . defaultMode
110
119
case info .PlatformTegra :
111
120
return RuntimeModeCSV
112
121
}
113
- return RuntimeModeJitCDI
122
+ return m . defaultMode
114
123
}
You can’t perform that action at this time.
0 commit comments