[BUG] CUOPT_MIP_PRESOLVE is declared in constants.h but is not a registered parameter
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
Bắt đầu với cpp/include/cuopt/mathematical_optimization/constants.h và cpp/src/math_optimization/solver_settings.cu, sau đó kiểm tra các tham số liên quan đến MIP ở gần đó và tái hiện lời gọi cuOptSetParameter bị từ chối. Xác định liệu CUOPT_MIP_PRESOLVE được dự định đăng ký hay đã bị xóa. Công việc được xem là hoàn tất khi các hằng số công khai và các tham số đã đăng ký khớp nhau, đồng thời các binding được tạo không còn expose một tham số bị từ chối.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the bug
CUOPT_MIP_PRESOLVE is declared in the public constants header but is not a real parameter:
cpp/include/cuopt/mathematical_optimization/constants.h:66:#define CUOPT_MIP_PRESOLVE "mip_presolve"
It is registered nowhere in cpp/src/math_optimization/solver_settings.cu and referenced nowhere else in the tree, so cuOptSetParameter(settings, CUOPT_MIP_PRESOLVE, ...) is rejected as an unknown parameter.
Comparing the two directions: all 109 distinct parameter names registered in solver_settings.cu are declared in constants.h, and CUOPT_MIP_PRESOLVE is the single declared name with no registration.
Steps/Code to reproduce bug
cuOptSolverSettings settings = NULL;
cuOptCreateSolverSettings(&settings);
cuOptSetParameter(settings, CUOPT_MIP_PRESOLVE, "1"); /* CUOPT_INVALID_ARGUMENT */
Expected behavior
Either register the parameter, or remove the constant. A public header should not advertise a parameter the solver rejects.
Additional context
This matters more than a stray macro because bindings are generated from this header rather than from a runtime list — the approach @mlubin confirmed in #1705. The Java bindings generate CuOptConstants.java from constants.h at build time, so CuOptConstants.CUOPT_MIP_PRESOLVE exists today and any caller using it gets a runtime error. The same would apply to any future Go, Rust, or C# binding generated the same way.
Note there is a separate, real mip_presolve-adjacent parameter set (CUOPT_MIP_PROBING, the CUOPT_MIP_HYPER_HEURISTIC_PRESOLVE_MAX_ROUNDS family), so the fix is not simply renaming — it needs someone who knows whether a mip_presolve toggle was intended.
Found while verifying #1705.
- Ngôn ngữ chính
- Cuda
- Star
- 1.1k
- Fork
- 249
- Merge trung bình
- 1 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 123
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của NVIDIA/cuopt
-
[BUG] Constraint validation reports CSR offset count as the number of rowsCó thể đã có người làm @0z5a đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
ci: pr-test-summary job shows red when the GitHub API returns persistent 5xx errorsCó thể đã có người làm @0z5a đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG] Dataset downloader reports success and replaces data after a failed downloadCó thể đã có người làm @0z5a đã nhận hôm nay. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
SAP/crossplane-provider-btp#1175 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
huggingface/deep-rl-class#723 ·
-
enhancement ui
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 69/100
hashtopolis/server#2613 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
adk: stream concatenation errors bypass retry and failoverCó thể đã có người làm @OUAO-FRANK đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 2 ngày