Skip to content

Commit 4db2d2b

Browse files
Merge branch 'main' into cbrissette/cuopt-bindings
2 parents d87382c + 6f5ec16 commit 4db2d2b

12 files changed

Lines changed: 30 additions & 19 deletions

File tree

conda/environments/all_cuda-129_arch-aarch64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ dependencies:
6565
- python>=3.11,<3.15
6666
- pyyaml>=6.0.0
6767
- rapids-build-backend>=0.4.0,<0.5.0
68-
- rapids-logger==0.2.*,>=0.0.0a0
68+
- rapids-logger==0.3.*
6969
- re2
7070
- requests
7171
- rmm==26.10.*,>=0.0.0a0

conda/environments/all_cuda-129_arch-x86_64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ dependencies:
6565
- python>=3.11,<3.15
6666
- pyyaml>=6.0.0
6767
- rapids-build-backend>=0.4.0,<0.5.0
68-
- rapids-logger==0.2.*,>=0.0.0a0
68+
- rapids-logger==0.3.*
6969
- re2
7070
- requests
7171
- rmm==26.10.*,>=0.0.0a0

conda/environments/all_cuda-133_arch-aarch64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ dependencies:
6565
- python>=3.11,<3.15
6666
- pyyaml>=6.0.0
6767
- rapids-build-backend>=0.4.0,<0.5.0
68-
- rapids-logger==0.2.*,>=0.0.0a0
68+
- rapids-logger==0.3.*
6969
- re2
7070
- requests
7171
- rmm==26.10.*,>=0.0.0a0

conda/environments/all_cuda-133_arch-x86_64.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ dependencies:
6565
- python>=3.11,<3.15
6666
- pyyaml>=6.0.0
6767
- rapids-build-backend>=0.4.0,<0.5.0
68-
- rapids-logger==0.2.*,>=0.0.0a0
68+
- rapids-logger==0.3.*
6969
- re2
7070
- requests
7171
- rmm==26.10.*,>=0.0.0a0

conda/recipes/libcuopt/recipe.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ cache:
8282
- cuda-version =${{ cuda_version }}
8383
- libraft-headers =${{ minor_version }}
8484
- librmm =${{ minor_version }}
85-
- rapids-logger =0.2
85+
- rapids-logger =0.3
8686
- cuda-nvtx-dev
8787
- libcudss-dev >=0.7,<0.8
8888
- libcurand-dev
@@ -124,7 +124,7 @@ outputs:
124124
host:
125125
- libboost-devel
126126
- cuda-version =${{ cuda_version }}
127-
- rapids-logger =0.2
127+
- rapids-logger =0.3
128128
- librmm =${{ minor_version }}
129129
- libcublas
130130
- libcudss-dev >=0.7,<0.8

cpp/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ FetchContent_MakeAvailable(papilo)
295295
FetchContent_Declare(
296296
pslp
297297
GIT_REPOSITORY "https://github.com/dance858/PSLP.git"
298-
GIT_TAG "v0.0.8"
298+
GIT_TAG "v0.0.10"
299299
GIT_PROGRESS TRUE
300300
EXCLUDE_FROM_ALL
301301
SYSTEM

cpp/src/math_optimization/solver_settings.cu

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ solver_settings_t<i_t, f_t>::solver_settings_t() : pdlp_settings(), mip_settings
9494
{CUOPT_RELATIVE_PRIMAL_TOLERANCE, &pdlp_settings.tolerances.relative_primal_tolerance, f_t(0.0), f_t(1e-1), f_t(1e-4)},
9595
{CUOPT_ABSOLUTE_GAP_TOLERANCE, &pdlp_settings.tolerances.absolute_gap_tolerance, f_t(0.0), f_t(1e-1), f_t(1e-4)},
9696
{CUOPT_RELATIVE_GAP_TOLERANCE, &pdlp_settings.tolerances.relative_gap_tolerance, f_t(0.0), f_t(1e-1), f_t(1e-4)},
97-
{CUOPT_MIP_ABSOLUTE_TOLERANCE, &mip_settings.tolerances.absolute_tolerance, f_t(0.0), f_t(1e-1), f_t(1e-4)},
98-
{CUOPT_MIP_RELATIVE_TOLERANCE, &mip_settings.tolerances.relative_tolerance, f_t(0.0), f_t(1e-1), f_t(1e-4)},
97+
{CUOPT_MIP_ABSOLUTE_TOLERANCE, &mip_settings.tolerances.absolute_tolerance, f_t(0.0), f_t(1e-1), f_t(1e-6)},
98+
{CUOPT_MIP_RELATIVE_TOLERANCE, &mip_settings.tolerances.relative_tolerance, f_t(0.0), f_t(1e-1), f_t(1e-12)},
9999
{CUOPT_MIP_INTEGRALITY_TOLERANCE, &mip_settings.tolerances.integrality_tolerance, f_t(0.0), f_t(1e-1), f_t(1e-5)},
100100
{CUOPT_MIP_ABSOLUTE_GAP, &mip_settings.tolerances.absolute_mip_gap, f_t(0.0), std::numeric_limits<f_t>::infinity(), std::max(f_t(1e-10), std::numeric_limits<f_t>::epsilon())},
101101
{CUOPT_MIP_RELATIVE_GAP, &mip_settings.tolerances.relative_mip_gap, f_t(0.0), f_t(1e-1), f_t(1e-4)},

cpp/src/mip_heuristics/feasibility_jump/feasibility_jump.cu

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,9 +1036,20 @@ void fj_t<i_t, f_t>::resize_vectors(const raft::handle_t* handle_ptr)
10361036
climbers[0]->grid_delta_buf.resize(update_weights_launch_dims.first.x, handle_ptr->get_stream());
10371037

10381038
// FJ related vars
1039-
cstr_weights.resize(pb_ptr->n_constraints, handle_ptr->get_stream());
1040-
cstr_right_weights.resize(pb_ptr->n_constraints, handle_ptr->get_stream());
1041-
cstr_left_weights.resize(pb_ptr->n_constraints, handle_ptr->get_stream());
1039+
// the problem can gain constraints between two runs (e.g. the objective cutting plane added by
1040+
// the feasibility pump), and resize leaves the new elements uninitialized: give them the default
1041+
// weight
1042+
auto resize_weights = [&](rmm::device_uvector<f_t>& weights) {
1043+
const auto old_size = weights.size();
1044+
weights.resize(pb_ptr->n_constraints, handle_ptr->get_stream());
1045+
if (old_size < weights.size()) {
1046+
thrust::uninitialized_fill(
1047+
handle_ptr->get_thrust_policy(), weights.begin() + old_size, weights.end(), 1.);
1048+
}
1049+
};
1050+
resize_weights(cstr_weights);
1051+
resize_weights(cstr_right_weights);
1052+
resize_weights(cstr_left_weights);
10421053
constraint_lower_bounds_csr.resize(pb_ptr->coefficients.size(), handle_ptr->get_stream());
10431054
constraint_upper_bounds_csr.resize(pb_ptr->coefficients.size(), handle_ptr->get_stream());
10441055
cstr_coeff_reciprocal.resize(pb_ptr->coefficients.size(), handle_ptr->get_stream());

cpp/src/mip_heuristics/presolve/third_party_presolve.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -724,7 +724,7 @@ void set_presolve_options(papilo::Presolve<f_t>& presolver,
724724
{
725725
presolver.getPresolveOptions().tlim = time_limit;
726726
presolver.getPresolveOptions().threads = num_cpu_threads; // user setting or 0 (automatic)
727-
presolver.getPresolveOptions().feastol = 1e-5;
727+
presolver.getPresolveOptions().feastol = absolute_tolerance;
728728
if (max_rounds > 0) { presolver.getPresolveOptions().maxrounds = max_rounds; }
729729
if (dual_postsolve) {
730730
presolver.getPresolveOptions().componentsmaxint = -1;

dependencies.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@ dependencies:
565565
common:
566566
- output_types: [conda, requirements, pyproject]
567567
packages:
568-
- rapids-logger==0.2.*,>=0.0.0a0
568+
- rapids-logger==0.3.*
569569
- output_types: requirements
570570
packages:
571571
# pip recognizes the index as a global option for the requirements.txt file

0 commit comments

Comments
 (0)