-
Notifications
You must be signed in to change notification settings - Fork 255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Option to output results in csv and json format #120
Comments
Fair ask. Might need some work though to format things properly and make them easily accessible without making the file too bloated. I'll think about it. |
I would like to second this request. I have automation working for running NCCL tests, but writing a text parser from this output is complicated and brittle. JSON or CSV would provide me more confidence that the output automation won't break in subsequent versions. |
I already have a working fork, @sjeaugey are you already done with this or can clean up my fork and open PR here? |
Sorry, I've been underwater and couldn't make progress on this. If you have a patch to propose, feel free to do so. I can't guarantee we'll find time to integrate but if it merges easily and it's a small patch, maybe we can do it. |
@lipovsek-aws please open a PR. My preference for a format would be a CSV file structured around independent and dependent variables, with one row per unique tuple of indepedent variables. For nccl-tests the independent vars are: operation, bytes, elements, iters, redop, datatype, etc.... The dependent vars are the measurements: usecs, algbw, busbw, wrongs. The first row of each table would begin with a
If you have other thoughts for formats that are easier to work with please share. I look forward to the PR. |
@jbachan Can you elaborate on why you wouldn't want to simply convert the current columns to CSV columns? Besides, mimicking the current columns would make the patch quite limited, while changing the layout would probably mean more complexity. |
I agree just slipping commas between the columns would be the smallest patch. Ignoring minimality of patch length, my preference would be for a format that is "concatenative" meaning that we can direct the output of a battery of tests all to one file:
This require that each row of measurement be fully described: all independent variables affecting the measurement row are easy to parse. The format should also allow it easy for a later version of
My CSV format meets the concatenative and compatability requirements. If there exists similar formats that can do the same, or cool tricks with |
Hi, sorry for delayed response. I added flag "--file" for example "--file=/tmp/results" and then persisted current output to "/tmp/results.csv" and arguments to "/tmp/results.json" - that makes it fully reproducible and machine readable. I added in_place and out_of_place to column names since CSV isn't the best with multi level columns, but I'm more than happy to move it back to multi level if others find this better DX. I should be able to open PR end of next week. |
Much appreciated @lipovsek-aws Thoughts:
|
I'm on board with dropping JSON and putting all data in CSV, data quantity should be low so data duplication is not a concern for me. I'll open PR late next week. |
Feature request to add an option to print results in a csv format table or json.
The text was updated successfully, but these errors were encountered: