-
Notifications
You must be signed in to change notification settings - Fork 107
Print cuOpt version / machine info before solving #370
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
Conversation
cpp/cuopt_cli.cpp
Outdated
| return cores.size(); | ||
| } | ||
|
|
||
| static std::string get_cpu_model_from_proc() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move these functions to utilities. We would want to use these for all the solvers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've kept them in the cuopt_cli source file to keep them away from the main solver since this seems more like a CLI tool responsibility rather than a libcuopt one (and the duplication is a consequence of the legacy solve_MPS_file still being in the repo). Do you think this should be moved to the common solver code?
BTW we should probably discuss removing solve_MPS_file for good :) I've dragged my feet about it a little too long but the repo will benefit from lessened duplication
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Log files can be generated from all other APIs (C, Python, service) as well right? If we restrict this to cli, the log files generated will be different.
With regards to removing the solve_MPS_file, yes I agree. We have a script to run the benchmarks (https://github.com/NVIDIA/cuopt/blob/branch-25.10/benchmarks/linear_programming/run_mps_files.sh). Its missing on gathering results, but now that you have the log file readers, that should be more than sufficient.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh you're completely right, mea culpa :)
This makes sense. I will move this to solver side
cpp/cuopt_cli.cpp
Outdated
| return -1; | ||
| } | ||
|
|
||
| int device_id = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Write a function, may be "PrintHardwareCudaCuOptInfos". This helps us calling from each solver easily.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see above :)
rgsl888prabhu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Appoving Cmake changes
|
/merge |
closes #369 Most solvers report the version in their logs, along with some extra information such as build date or commit hash. This PR adds code to cuopt_cli (and solve_MPS_problem, until we deprecate it) to print out the cuOpt version, build hash, and target architectures, along with host/device details when starting the solver. Example output: ``` cuOpt version: 25.10.0, git hash: 9006ad7, host arch: x86_64, device archs: 90-real CPU: AMD EPYC 7742 64-Core Processor, threads (physical/logical): 128/256, RAM: 726.66 GiB CUDA 12.9, device: NVIDIA H100 PCIe (ID 0), VRAM: 79.18 GiB CUDA device UUID: 1effffffa4ffffff9937-fffffff928-ffff ``` Authors: - Alice Boucher (https://github.com/aliceb-nv) Approvers: - Ramakrishnap (https://github.com/rgsl888prabhu) - Rajesh Gandham (https://github.com/rg20) URL: #370
closes #369
Most solvers report the version in their logs, along with some extra information such as build date or commit hash.
This PR adds code to cuopt_cli (and solve_MPS_problem, until we deprecate it) to print out the cuOpt version, build hash, and target architectures, along with host/device details when starting the solver.
Example output: