mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2025-06-16 11:30:20 +00:00
Resolve to legacy by default in nvidia-container-runtime-hook
Some checks are pending
Some checks are pending
Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
parent
a39d147cbb
commit
e5b690e200
@ -140,6 +140,7 @@ func (c *hookConfig) assertModeIsLegacy() error {
|
|||||||
mr := info.NewRuntimeModeResolver(
|
mr := info.NewRuntimeModeResolver(
|
||||||
info.WithLogger(&logInterceptor{}),
|
info.WithLogger(&logInterceptor{}),
|
||||||
info.WithImage(&c.containerConfig.Image),
|
info.WithImage(&c.containerConfig.Image),
|
||||||
|
info.WithDefaultMode(info.LegacyRuntimeMode),
|
||||||
)
|
)
|
||||||
|
|
||||||
mode := mr.ResolveRuntimeMode(c.NVIDIAContainerRuntimeConfig.Mode)
|
mode := mr.ResolveRuntimeMode(c.NVIDIAContainerRuntimeConfig.Mode)
|
||||||
|
@ -55,10 +55,17 @@ type modeResolver struct {
|
|||||||
// TODO: This only needs to consider the requested devices.
|
// TODO: This only needs to consider the requested devices.
|
||||||
image *image.CUDA
|
image *image.CUDA
|
||||||
propertyExtractor info.PropertyExtractor
|
propertyExtractor info.PropertyExtractor
|
||||||
|
defaultMode RuntimeMode
|
||||||
}
|
}
|
||||||
|
|
||||||
type Option func(*modeResolver)
|
type Option func(*modeResolver)
|
||||||
|
|
||||||
|
func WithDefaultMode(defaultMode RuntimeMode) Option {
|
||||||
|
return func(mr *modeResolver) {
|
||||||
|
mr.defaultMode = defaultMode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func WithLogger(logger logger.Interface) Option {
|
func WithLogger(logger logger.Interface) Option {
|
||||||
return func(mr *modeResolver) {
|
return func(mr *modeResolver) {
|
||||||
mr.logger = logger
|
mr.logger = logger
|
||||||
@ -78,7 +85,9 @@ func WithPropertyExtractor(propertyExtractor info.PropertyExtractor) Option {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewRuntimeModeResolver(opts ...Option) RuntimeModeResolver {
|
func NewRuntimeModeResolver(opts ...Option) RuntimeModeResolver {
|
||||||
r := &modeResolver{}
|
r := &modeResolver{
|
||||||
|
defaultMode: JitCDIRuntimeMode,
|
||||||
|
}
|
||||||
for _, opt := range opts {
|
for _, opt := range opts {
|
||||||
opt(r)
|
opt(r)
|
||||||
}
|
}
|
||||||
@ -119,9 +128,9 @@ func (m *modeResolver) ResolveRuntimeMode(mode string) (rmode RuntimeMode) {
|
|||||||
|
|
||||||
switch nvinfo.ResolvePlatform() {
|
switch nvinfo.ResolvePlatform() {
|
||||||
case info.PlatformNVML, info.PlatformWSL:
|
case info.PlatformNVML, info.PlatformWSL:
|
||||||
return JitCDIRuntimeMode
|
return m.defaultMode
|
||||||
case info.PlatformTegra:
|
case info.PlatformTegra:
|
||||||
return CSVRuntimeMode
|
return CSVRuntimeMode
|
||||||
}
|
}
|
||||||
return JitCDIRuntimeMode
|
return m.defaultMode
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user