@@ -39,22 +39,24 @@ func CreateNvidiaCTKHook(executable string, hookName string, additionalArgs ...s
3939}
4040
4141// FindNvidiaCTK locates the nvidia-ctk executable to be used in hooks.
42- // If an override is specified, this is used instead.
43- func FindNvidiaCTK (logger * logrus.Logger , override string ) string {
44- if override != "" {
45- logger .Debugf ("Using specified NVIDIA Container Toolkit CLI path %v" , override )
46- return override
42+ // If an nvidia-ctk path is specified as an absolute path, it is used directly
43+ // without checking for existence of an executable at that path.
44+ func FindNvidiaCTK (logger * logrus.Logger , nvidiaCTKPath string ) string {
45+ if filepath .IsAbs (nvidiaCTKPath ) {
46+ logger .Debugf ("Using specified NVIDIA Container Toolkit CLI path %v" , nvidiaCTKPath )
47+ return nvidiaCTKPath
4748 }
4849
50+ logger .Debugf ("Locating NVIDIA Container Toolkit CLI as %v" , nvidiaCTKPath )
4951 lookup := lookup .NewExecutableLocator (logger , "" )
5052 hookPath := nvidiaCTKDefaultFilePath
51- targets , err := lookup .Locate (nvidiaCTKExecutable )
53+ targets , err := lookup .Locate (nvidiaCTKPath )
5254 if err != nil {
53- logger .Warnf ("Failed to locate %v: %v" , nvidiaCTKExecutable , err )
55+ logger .Warnf ("Failed to locate %v: %v" , nvidiaCTKPath , err )
5456 } else if len (targets ) == 0 {
55- logger .Warnf ("%v not found" , nvidiaCTKExecutable )
57+ logger .Warnf ("%v not found" , nvidiaCTKPath )
5658 } else {
57- logger .Debugf ("Found %v candidates: %v" , nvidiaCTKExecutable , targets )
59+ logger .Debugf ("Found %v candidates: %v" , nvidiaCTKPath , targets )
5860 hookPath = targets [0 ]
5961 }
6062 logger .Debugf ("Using NVIDIA Container Toolkit CLI path %v" , hookPath )
0 commit comments