Skip to content

Commit

Permalink
Merge pull request google#9215 from ekzhang:ekzhang/perf-nvidia-cli-info
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 564882593
  • Loading branch information
gvisor-bot committed Sep 13, 2023
2 parents 9450041 + 8758e99 commit b86d06d
Showing 1 changed file with 22 additions and 16 deletions.
38 changes: 22 additions & 16 deletions runsc/container/container.go
Original file line number Diff line number Diff line change
Expand Up @@ -1696,22 +1696,28 @@ func nvProxyPreGoferHostSetup(spec *specs.Spec, conf *config.Config) error {
// nvidia-container-cli --load-kmods seems to be a noop; load kernel modules ourselves.
nvproxyLoadKernelModules()

// Run `nvidia-container-cli info`.
// This has the side-effect of automatically creating GPU device files.
argv := []string{cliPath, "--load-kmods", "info"}
log.Debugf("Executing %q", argv)
var infoOut, infoErr strings.Builder
cmd := exec.Cmd{
Path: argv[0],
Args: argv,
Env: os.Environ(),
Stdout: &infoOut,
Stderr: &infoErr,
}
if err := cmd.Run(); err != nil {
return fmt.Errorf("nvidia-container-cli info failed, err: %v\nstdout: %s\nstderr: %s", err, infoOut.String(), infoErr.String())
}
log.Debugf("nvidia-container-cli info: %v", infoOut.String())
if _, err := os.Stat("/dev/nvidiactl"); err != nil {
if !os.IsNotExist(err) {
return fmt.Errorf("stat(2) for /dev/nvidiactl failed: %w", err)
}

// Run `nvidia-container-cli info`.
// This has the side-effect of automatically creating GPU device files.
argv := []string{cliPath, "--load-kmods", "info"}
log.Debugf("Executing %q", argv)
var infoOut, infoErr strings.Builder
cmd := exec.Cmd{
Path: argv[0],
Args: argv,
Env: os.Environ(),
Stdout: &infoOut,
Stderr: &infoErr,
}
if err := cmd.Run(); err != nil {
return fmt.Errorf("nvidia-container-cli info failed, err: %v\nstdout: %s\nstderr: %s", err, infoOut.String(), infoErr.String())
}
log.Debugf("nvidia-container-cli info: %v", infoOut.String())
}

return nil
}
Expand Down

0 comments on commit b86d06d

Please sign in to comment.