wilicc / gpu-burn

Multi-GPU CUDA stress test
BSD 2-Clause "Simplified" License
1.37k stars 295 forks source link

Standard format output file #54

Open adrien-cotte opened 2 years ago

adrien-cotte commented 2 years ago

Hello,

First of all, many thanks for this app, it's great! But, I need to implement an option to get a formatted output.

I would like start by JSON, with a -j <filename.json> option.

Maybe something like that:

{
  "devices": {
    "<DEVICE>": {
      "model": "<GPU_MODEL>",
      "UUID": "<UUID>",
      "<GLFOPS>": [<ARRAY_OF_GLOPS_VALUES>],
      "<ERROS>": [<ARRAY_OF_ERROS_VALUES>],
      "<TEMPS>": [<ARRAY_OF_TEMPS_VALUES>]
     }
  },
  "elapsed": [<ARRAY_OF_SUMMARY_TIMES>]
}

My example with 2 GPUs:

{
  "devices": {
    "GPU 0": {
      "model": "A100-SXM-80GB",
      "UUID": "GPU-3bb11c3f-033a",
      "Gflop/s": ["17668", "17699", "17705", "17704"],
      "errors": ["0", "0", "0", "0"],
      "temps (C)": ["56", "59", "60", "60"]
    },
    "GPU 1": {
      "model": "A100-SXM-80GB",
      "UUID": "GPU-c1aa22c3a-032b",
      "Gflop/s": ["17668", "17699", "17705", "17704"],
      "errors": ["0", "0", "0", "0"],
      "temps(C)": ["56", "59", "60", "60"]
    }
  }
  "elapsed(s)": ["10", "20", "30", "40"]
}

It gonna be easier to analyze and make statistics, with python or jq.

Before starting, what do you think about?

Best, Adrien