| package main |
| |
| import ( |
| "context" |
| "flag" |
| "log" |
| "strings" |
| |
| "cloud.google.com/go/storage" |
| "cos.googlesource.com/cos/tools.git/src/pkg/gpuconfig" |
| ) |
| |
| var ( |
| bucket = flag.String("gcs-bucket", "cos-gpu-configs", "GCS bucket to upload GPU configs to.") |
| kernelVersion = flag.String("kernel-version", "", "Kernel version for COS GPU precompilation build request, example: 5.10.105-23.m97") |
| |
| driverVersions = flag.String("driver-versions", "", "Driver version/ (Comma separated if multiple driver versions) for COS GPU precompilation build request, example 450.119.04 / 450.119.04,470.150.03") |
| ) |
| |
| func main() { |
| flag.Parse() |
| |
| if *kernelVersion == "" || *driverVersions == "" { |
| log.Fatal("empty kernel version: %s or driver version:%s specified", kernelVersion, driverVersions) |
| } |
| |
| ctx := context.Background() |
| client, err := storage.NewClient(ctx) |
| if err != nil { |
| log.Fatal("failed to setup client for GCS: %v", err) |
| } |
| |
| configs, err := gpuconfig.GenerateKernelCIConfigs(ctx, client, *kernelVersion, strings.Split(*driverVersions, ",")) |
| if err != nil { |
| log.Fatal("gpu config generation failed: %v", err) |
| } |
| |
| if err := gpuconfig.UploadConfigs(ctx, client, configs, *bucket); err != nil { |
| log.Fatal("uploading gpu config failed: %v", err) |
| } |
| } |