Fix to decouple thin client requirements from cuopt main module#92
Conversation
chris-maes
left a comment
There was a problem hiding this comment.
I don't think we should merge separate hard code status codes in the thin client. There should really only be one source of truth for these status values and that should be the C++ code.
|
@jameslamb May I get review on this PR |
chris-maes
left a comment
There was a problem hiding this comment.
This changes the entire Python API to use strings instead of status codes for termination status. I don't think that is what we want. We should just change the thin client to use strings. No changes need to be made in solution.py, solver_wrapper.pyx, or the tests of the Python API.
solution.py is packaged with thin client as well, so it would affect thin client if we keep it as it is. |
|
@chris-maes @rg20 Created new solution module for thin client and only server converts the termination status to string |
jameslamb
left a comment
There was a problem hiding this comment.
Approving from a ci-codeowners perspective, will defer to other reviewers on the substance of the code changes.
…bhu/cuopt_public into fix_thin_client_deps_on_cuopt
chris-maes
left a comment
There was a problem hiding this comment.
LGTM. One minor question. I see the addition of .name to the ProblemCategaory and the LPTermination status. Why is this needed?
|
It just changes enum value to it's corresponding string
It just changes enum value to it's corresponding string, instead of us manually doing it. |
…IA#92) <!-- Thank you for contributing to cuOpt :) Here are some guidelines to help the review process go smoothly. 1. Please write a description in this text box of the changes that are being made. 2. Please ensure that you have written units tests for the changes made/features added. 3. If you are closing an issue please use one of the automatic closing words as noted here: https://help.github.com/articles/closing-issues-using-keywords/ 4. If your pull request is not ready for review but you want to make use of the continuous integration testing facilities please label it with `[WIP]`. 5. If your pull request is ready to be reviewed without requiring additional work on top of it, then remove the `[WIP]` label (if present) and replace it with `[REVIEW]`. If assistance is required to complete the functionality, for example when the C/C++ code of a feature is complete but Python bindings are still required, then add the label `[HELP-REQ]` so that others can triage and assist. The additional changes then can be implemented on top of the same PR. If the assistance is done by members of the rapidsAI team, then no additional actions are required by the creator of the original PR for this, otherwise the original author of the PR needs to give permission to the person(s) assisting to commit to their personal fork of the project. If that doesn't happen then a new PR based on the code of the original PR can be opened by the person assisting, which then will be the PR that will be merged. 6. Once all work has been done and review has taken place please do not add features or make changes out of the scope of those requested by the reviewer (doing this just add delays as already reviewed code ends up having to be re-reviewed/it is hard to tell what is new etc!). Further, please do not rebase your branch on main/force push/rewrite history, doing any of these causes the context of any comments made by reviewers to be lost. If conflicts occur against main they should be resolved by merging main into the branch used for making the pull request. Many thanks in advance for your cooperation! --> Termination status is being pulled from cuOpt which makes cuopt main library a dependency for cuopt thin client. This PR converts termination status and problem category to string just for server and also adds a new solution class specific to thin client and detaches need to connect with enums from main cuOpt library. closes NVIDIA#90
Termination status is being pulled from cuOpt which makes cuopt main library a dependency for cuopt thin client.
This PR converts termination status and problem category to string just for server and also adds a new solution class specific to thin client and detaches need to connect with enums from main cuOpt library.
closes #90