X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/43be77c2f1b4b972113202bcd3d543fe0428778a..ff22334d01e09b0074be6416f9285dae8d5af565:/lib/crunchrun/cuda.go diff --git a/lib/crunchrun/cuda.go b/lib/crunchrun/cuda.go index 8282359eab..c693dbcb96 100644 --- a/lib/crunchrun/cuda.go +++ b/lib/crunchrun/cuda.go @@ -5,15 +5,13 @@ package crunchrun import ( - "fmt" - "io" "os/exec" ) // nvidiaModprobe makes sure all the nvidia kernel modules and devices // are set up. If we don't have all the modules/devices set up we get // "CUDA_ERROR_UNKNOWN". -func nvidiaModprobe(writer io.Writer) { +func nvidiaModprobe(writer *ThrottledLogger) { // The underlying problem is that when normally running // directly on the host, the CUDA SDK will automatically // detect and set up the devices on demand. However, when @@ -44,7 +42,7 @@ func nvidiaModprobe(writer io.Writer) { nvidiaSmi.Stderr = writer err := nvidiaSmi.Run() if err != nil { - writer.Write([]byte(fmt.Sprintf("nvidia-smi error: %v\n", err))) + writer.Printf("Warning %v: %v", nvidiaSmi.Args, err) } // Load the kernel modules & devices associated with @@ -65,7 +63,7 @@ func nvidiaModprobe(writer io.Writer) { nvmodprobe.Stderr = writer err = nvmodprobe.Run() if err != nil { - writer.Write([]byte(fmt.Sprintf("nvidia-modprobe error: %v\n", err))) + writer.Printf("Warning %v: %v", nvmodprobe.Args, err) } } }