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 *ThrottledLogger) {
+func nvidiaModprobe(writer io.Writer) {
// 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
nvidiaSmi.Stderr = writer
err := nvidiaSmi.Run()
if err != nil {
- writer.Printf("Warning %v: %v", nvidiaSmi.Args, err)
+ fmt.Fprintf(writer, "Warning %v: %v\n", nvidiaSmi.Args, err)
}
// Load the kernel modules & devices associated with
nvmodprobe.Stderr = writer
err = nvmodprobe.Run()
if err != nil {
- writer.Printf("Warning %v: %v", nvmodprobe.Args, err)
+ fmt.Fprintf(writer, "Warning %v: %v\n", nvmodprobe.Args, err)
}
}
}