From c199d1e111cb3a92ae66b2d1630b4bb658ec1630 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Fri, 27 Mar 2026 22:24:21 -0500 Subject: [PATCH 1/3] Add missing thrust headers across C++ sources Direct #include directives for thrust iterator, tuple, functional, and algorithm headers that were previously resolved only through transitive includes. The immediate failure was make_transform_output_iterator in infeasibility_information.cu (CI build error with CUDA 13.1.1); this commit adds the explicit includes for every thrust symbol used across all .cu/.cuh/.hpp files to prevent similar breakage when transitive paths change. Signed-off-by: Bradley Dice --- cpp/src/barrier/barrier.cu | 2 ++ cpp/src/barrier/iterative_refinement.hpp | 1 + .../mip_heuristics/feasibility_jump/feasibility_jump.cu | 1 + .../feasibility_jump/feasibility_jump_kernels.cu | 2 ++ cpp/src/mip_heuristics/feasibility_jump/fj_cpu.cu | 3 +++ .../mip_heuristics/local_search/rounding/bounds_repair.cu | 2 ++ .../local_search/rounding/bounds_repair.cuh | 3 +++ .../local_search/rounding/constraint_prop.cu | 2 ++ .../local_search/rounding/lb_bounds_repair.cu | 2 ++ cpp/src/mip_heuristics/presolve/bounds_presolve.cu | 1 + .../presolve/conditional_bound_strengthening.cu | 6 ++++++ cpp/src/mip_heuristics/presolve/lb_probing_cache.cu | 2 ++ .../presolve/load_balanced_bounds_presolve.cu | 1 + .../presolve/load_balanced_bounds_presolve_helpers.cuh | 3 ++- cpp/src/mip_heuristics/presolve/multi_probe.cu | 1 + cpp/src/mip_heuristics/presolve/probing_cache.cu | 3 +++ cpp/src/mip_heuristics/presolve/trivial_presolve.cuh | 2 ++ cpp/src/mip_heuristics/problem/problem.cu | 3 +++ cpp/src/mip_heuristics/problem/problem_helpers.cuh | 2 ++ cpp/src/mip_heuristics/solution/solution.cu | 1 + cpp/src/pdlp/initial_scaling_strategy/initial_scaling.cu | 2 ++ cpp/src/pdlp/pdhg.cu | 2 ++ cpp/src/pdlp/pdlp.cu | 1 + cpp/src/pdlp/restart_strategy/pdlp_restart_strategy.cu | 2 ++ .../step_size_strategy/adaptive_step_size_strategy.cu | 3 +++ .../pdlp/termination_strategy/convergence_information.cu | 1 + .../termination_strategy/infeasibility_information.cu | 8 ++++++++ cpp/src/pdlp/utils.cuh | 2 ++ cpp/src/routing/local_search/compute_compatible.cu | 4 +++- cpp/src/routing/route/break_route.cuh | 4 +++- cpp/src/routing/route/capacity_route.cuh | 5 ++++- cpp/src/routing/route/dimensions_route.cuh | 4 +++- cpp/src/routing/route/distance_route.cuh | 4 +++- cpp/src/routing/route/mismatch_route.cuh | 4 +++- cpp/src/routing/route/pdp_route.cuh | 4 +++- cpp/src/routing/route/prize_route.cuh | 4 +++- cpp/src/routing/route/route.cuh | 2 ++ cpp/src/routing/route/service_time_route.cuh | 4 +++- cpp/src/routing/route/tasks_route.cuh | 4 +++- cpp/src/routing/route/time_route.cuh | 4 +++- cpp/src/routing/route/tsp_route.cuh | 4 +++- cpp/src/routing/route/vehicle_fixed_cost_route.cuh | 4 +++- cpp/src/routing/solution/route_node_map.cuh | 3 ++- cpp/src/routing/utilities/check_input.cu | 1 + cpp/src/utilities/copy_helpers.hpp | 1 + 45 files changed, 109 insertions(+), 15 deletions(-) diff --git a/cpp/src/barrier/barrier.cu b/cpp/src/barrier/barrier.cu index 075323744d..76ed1927b1 100644 --- a/cpp/src/barrier/barrier.cu +++ b/cpp/src/barrier/barrier.cu @@ -40,7 +40,9 @@ #include #include +#include #include +#include namespace cuopt::linear_programming::dual_simplex { diff --git a/cpp/src/barrier/iterative_refinement.hpp b/cpp/src/barrier/iterative_refinement.hpp index d37760cd07..69e72d66bc 100644 --- a/cpp/src/barrier/iterative_refinement.hpp +++ b/cpp/src/barrier/iterative_refinement.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include diff --git a/cpp/src/mip_heuristics/feasibility_jump/feasibility_jump.cu b/cpp/src/mip_heuristics/feasibility_jump/feasibility_jump.cu index e9cf0760de..504eec38e4 100644 --- a/cpp/src/mip_heuristics/feasibility_jump/feasibility_jump.cu +++ b/cpp/src/mip_heuristics/feasibility_jump/feasibility_jump.cu @@ -23,6 +23,7 @@ #include #include +#include #include #include #include diff --git a/cpp/src/mip_heuristics/feasibility_jump/feasibility_jump_kernels.cu b/cpp/src/mip_heuristics/feasibility_jump/feasibility_jump_kernels.cu index ebbb761277..e9137503a5 100644 --- a/cpp/src/mip_heuristics/feasibility_jump/feasibility_jump_kernels.cu +++ b/cpp/src/mip_heuristics/feasibility_jump/feasibility_jump_kernels.cu @@ -14,6 +14,8 @@ #include +#include + #include #include "feasibility_jump_impl_common.cuh" diff --git a/cpp/src/mip_heuristics/feasibility_jump/fj_cpu.cu b/cpp/src/mip_heuristics/feasibility_jump/fj_cpu.cu index b3bc0d688e..f24e93a39a 100644 --- a/cpp/src/mip_heuristics/feasibility_jump/fj_cpu.cu +++ b/cpp/src/mip_heuristics/feasibility_jump/fj_cpu.cu @@ -15,6 +15,9 @@ #include +#include +#include + #include #include #include diff --git a/cpp/src/mip_heuristics/local_search/rounding/bounds_repair.cu b/cpp/src/mip_heuristics/local_search/rounding/bounds_repair.cu index f3233cc8f4..6512ad05da 100644 --- a/cpp/src/mip_heuristics/local_search/rounding/bounds_repair.cu +++ b/cpp/src/mip_heuristics/local_search/rounding/bounds_repair.cu @@ -8,8 +8,10 @@ #include "bounds_repair.cuh" #include +#include #include #include +#include #include #include #include diff --git a/cpp/src/mip_heuristics/local_search/rounding/bounds_repair.cuh b/cpp/src/mip_heuristics/local_search/rounding/bounds_repair.cuh index 29161c5d25..e4f1b4a866 100644 --- a/cpp/src/mip_heuristics/local_search/rounding/bounds_repair.cuh +++ b/cpp/src/mip_heuristics/local_search/rounding/bounds_repair.cuh @@ -13,6 +13,9 @@ #include #include +#include +#include + namespace cuopt::linear_programming::detail { // from the paper, probability of choosing random candidate= noise parameter diff --git a/cpp/src/mip_heuristics/local_search/rounding/constraint_prop.cu b/cpp/src/mip_heuristics/local_search/rounding/constraint_prop.cu index 8db4d7ae85..51c103c74f 100644 --- a/cpp/src/mip_heuristics/local_search/rounding/constraint_prop.cu +++ b/cpp/src/mip_heuristics/local_search/rounding/constraint_prop.cu @@ -16,8 +16,10 @@ #include #include #include +#include #include #include +#include namespace cuopt::linear_programming::detail { diff --git a/cpp/src/mip_heuristics/local_search/rounding/lb_bounds_repair.cu b/cpp/src/mip_heuristics/local_search/rounding/lb_bounds_repair.cu index 7d074aea5e..10973f1565 100644 --- a/cpp/src/mip_heuristics/local_search/rounding/lb_bounds_repair.cu +++ b/cpp/src/mip_heuristics/local_search/rounding/lb_bounds_repair.cu @@ -8,8 +8,10 @@ #include "lb_bounds_repair.cuh" #include +#include #include #include +#include #include #include #include diff --git a/cpp/src/mip_heuristics/presolve/bounds_presolve.cu b/cpp/src/mip_heuristics/presolve/bounds_presolve.cu index d78f8beb16..0a7c9de41a 100644 --- a/cpp/src/mip_heuristics/presolve/bounds_presolve.cu +++ b/cpp/src/mip_heuristics/presolve/bounds_presolve.cu @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/mip_heuristics/presolve/conditional_bound_strengthening.cu b/cpp/src/mip_heuristics/presolve/conditional_bound_strengthening.cu index 13412614b8..24cac7129f 100644 --- a/cpp/src/mip_heuristics/presolve/conditional_bound_strengthening.cu +++ b/cpp/src/mip_heuristics/presolve/conditional_bound_strengthening.cu @@ -17,6 +17,12 @@ #include "cusparse.h" #include + +#include +#include +#include +#include + #include "conditional_bound_strengthening.cuh" #include diff --git a/cpp/src/mip_heuristics/presolve/lb_probing_cache.cu b/cpp/src/mip_heuristics/presolve/lb_probing_cache.cu index 3a6d1bce21..bbb58c0164 100644 --- a/cpp/src/mip_heuristics/presolve/lb_probing_cache.cu +++ b/cpp/src/mip_heuristics/presolve/lb_probing_cache.cu @@ -10,7 +10,9 @@ #include #include +#include #include +#include #include #include diff --git a/cpp/src/mip_heuristics/presolve/load_balanced_bounds_presolve.cu b/cpp/src/mip_heuristics/presolve/load_balanced_bounds_presolve.cu index 0d16c26cae..f48eae1de8 100644 --- a/cpp/src/mip_heuristics/presolve/load_balanced_bounds_presolve.cu +++ b/cpp/src/mip_heuristics/presolve/load_balanced_bounds_presolve.cu @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/mip_heuristics/presolve/load_balanced_bounds_presolve_helpers.cuh b/cpp/src/mip_heuristics/presolve/load_balanced_bounds_presolve_helpers.cuh index cbcd91a7d7..f276840bdf 100644 --- a/cpp/src/mip_heuristics/presolve/load_balanced_bounds_presolve_helpers.cuh +++ b/cpp/src/mip_heuristics/presolve/load_balanced_bounds_presolve_helpers.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2022-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2022-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -10,6 +10,7 @@ #include "load_balanced_bounds_presolve_kernels.cuh" #include "load_balanced_partition_helpers.cuh" +#include #include #include #include diff --git a/cpp/src/mip_heuristics/presolve/multi_probe.cu b/cpp/src/mip_heuristics/presolve/multi_probe.cu index 7789b3281b..f798957e1c 100644 --- a/cpp/src/mip_heuristics/presolve/multi_probe.cu +++ b/cpp/src/mip_heuristics/presolve/multi_probe.cu @@ -9,6 +9,7 @@ #include #include +#include #include #include #include diff --git a/cpp/src/mip_heuristics/presolve/probing_cache.cu b/cpp/src/mip_heuristics/presolve/probing_cache.cu index 18f678c7e0..e0b8f554b0 100644 --- a/cpp/src/mip_heuristics/presolve/probing_cache.cu +++ b/cpp/src/mip_heuristics/presolve/probing_cache.cu @@ -14,7 +14,10 @@ #include #include +#include +#include #include +#include #include #include diff --git a/cpp/src/mip_heuristics/presolve/trivial_presolve.cuh b/cpp/src/mip_heuristics/presolve/trivial_presolve.cuh index 568719dfd8..28162d7482 100644 --- a/cpp/src/mip_heuristics/presolve/trivial_presolve.cuh +++ b/cpp/src/mip_heuristics/presolve/trivial_presolve.cuh @@ -14,9 +14,11 @@ #include #include +#include #include #include #include +#include #include #include #include diff --git a/cpp/src/mip_heuristics/problem/problem.cu b/cpp/src/mip_heuristics/problem/problem.cu index 90d80f5948..f5bbda1c29 100644 --- a/cpp/src/mip_heuristics/problem/problem.cu +++ b/cpp/src/mip_heuristics/problem/problem.cu @@ -27,9 +27,12 @@ #include #include #include +#include +#include #include #include #include +#include #include #include diff --git a/cpp/src/mip_heuristics/problem/problem_helpers.cuh b/cpp/src/mip_heuristics/problem/problem_helpers.cuh index ebc8a488ea..939702e97d 100644 --- a/cpp/src/mip_heuristics/problem/problem_helpers.cuh +++ b/cpp/src/mip_heuristics/problem/problem_helpers.cuh @@ -19,8 +19,10 @@ #include #include #include +#include #include #include +#include namespace cuopt::linear_programming::detail { template diff --git a/cpp/src/mip_heuristics/solution/solution.cu b/cpp/src/mip_heuristics/solution/solution.cu index 531d54372c..b5506024f9 100644 --- a/cpp/src/mip_heuristics/solution/solution.cu +++ b/cpp/src/mip_heuristics/solution/solution.cu @@ -19,6 +19,7 @@ #include #include +#include #include #include #include diff --git a/cpp/src/pdlp/initial_scaling_strategy/initial_scaling.cu b/cpp/src/pdlp/initial_scaling_strategy/initial_scaling.cu index b618550f6e..a76b1773f9 100644 --- a/cpp/src/pdlp/initial_scaling_strategy/initial_scaling.cu +++ b/cpp/src/pdlp/initial_scaling_strategy/initial_scaling.cu @@ -22,6 +22,8 @@ #include #include +#include +#include #include namespace cuopt::linear_programming::detail { diff --git a/cpp/src/pdlp/pdhg.cu b/cpp/src/pdlp/pdhg.cu index 74df7fee01..cb16c9d662 100644 --- a/cpp/src/pdlp/pdhg.cu +++ b/cpp/src/pdlp/pdhg.cu @@ -30,6 +30,8 @@ #include +#include + #include namespace cuopt::linear_programming::detail { diff --git a/cpp/src/pdlp/pdlp.cu b/cpp/src/pdlp/pdlp.cu index 82e79098a7..40d907e469 100644 --- a/cpp/src/pdlp/pdlp.cu +++ b/cpp/src/pdlp/pdlp.cu @@ -35,6 +35,7 @@ #include #include +#include #include #include diff --git a/cpp/src/pdlp/restart_strategy/pdlp_restart_strategy.cu b/cpp/src/pdlp/restart_strategy/pdlp_restart_strategy.cu index 149e99a431..05da0350d0 100644 --- a/cpp/src/pdlp/restart_strategy/pdlp_restart_strategy.cu +++ b/cpp/src/pdlp/restart_strategy/pdlp_restart_strategy.cu @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -39,6 +40,7 @@ #include #include #include +#include #include diff --git a/cpp/src/pdlp/step_size_strategy/adaptive_step_size_strategy.cu b/cpp/src/pdlp/step_size_strategy/adaptive_step_size_strategy.cu index d17a88dd29..c95ed67ca6 100644 --- a/cpp/src/pdlp/step_size_strategy/adaptive_step_size_strategy.cu +++ b/cpp/src/pdlp/step_size_strategy/adaptive_step_size_strategy.cu @@ -28,6 +28,9 @@ #include +#include +#include + #include namespace cuopt::linear_programming::detail { diff --git a/cpp/src/pdlp/termination_strategy/convergence_information.cu b/cpp/src/pdlp/termination_strategy/convergence_information.cu index ab0c921cc7..b4da4ffbde 100644 --- a/cpp/src/pdlp/termination_strategy/convergence_information.cu +++ b/cpp/src/pdlp/termination_strategy/convergence_information.cu @@ -25,6 +25,7 @@ #include #include +#include #include #include diff --git a/cpp/src/pdlp/termination_strategy/infeasibility_information.cu b/cpp/src/pdlp/termination_strategy/infeasibility_information.cu index dbb35b732d..37972ba442 100644 --- a/cpp/src/pdlp/termination_strategy/infeasibility_information.cu +++ b/cpp/src/pdlp/termination_strategy/infeasibility_information.cu @@ -24,6 +24,14 @@ #include #include +#include +#include +#include +#include +#include +#include +#include + namespace cuopt::linear_programming::detail { template infeasibility_information_t::infeasibility_information_t( diff --git a/cpp/src/pdlp/utils.cuh b/cpp/src/pdlp/utils.cuh index 138c9c2ab9..77bc6b18ce 100644 --- a/cpp/src/pdlp/utils.cuh +++ b/cpp/src/pdlp/utils.cuh @@ -24,6 +24,8 @@ #include #include +#include +#include #include #include diff --git a/cpp/src/routing/local_search/compute_compatible.cu b/cpp/src/routing/local_search/compute_compatible.cu index 8386cb087b..457e970632 100644 --- a/cpp/src/routing/local_search/compute_compatible.cu +++ b/cpp/src/routing/local_search/compute_compatible.cu @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -9,6 +9,8 @@ #include "compute_compatible.cuh" #include "local_search.cuh" +#include +#include #include #include diff --git a/cpp/src/routing/route/break_route.cuh b/cpp/src/routing/route/break_route.cuh index 68ab015646..1d5b3472f9 100644 --- a/cpp/src/routing/route/break_route.cuh +++ b/cpp/src/routing/route/break_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -17,6 +17,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/capacity_route.cuh b/cpp/src/routing/route/capacity_route.cuh index a39ef46a93..388e573c1c 100644 --- a/cpp/src/routing/route/capacity_route.cuh +++ b/cpp/src/routing/route/capacity_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -17,6 +17,9 @@ #include #include + +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/dimensions_route.cuh b/cpp/src/routing/route/dimensions_route.cuh index d1131ea550..bc08ba9819 100644 --- a/cpp/src/routing/route/dimensions_route.cuh +++ b/cpp/src/routing/route/dimensions_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -30,6 +30,8 @@ #include #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/distance_route.cuh b/cpp/src/routing/route/distance_route.cuh index e01c552080..a5f98c13ce 100644 --- a/cpp/src/routing/route/distance_route.cuh +++ b/cpp/src/routing/route/distance_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -17,6 +17,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/mismatch_route.cuh b/cpp/src/routing/route/mismatch_route.cuh index d72f01735a..78975750e0 100644 --- a/cpp/src/routing/route/mismatch_route.cuh +++ b/cpp/src/routing/route/mismatch_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -15,6 +15,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/pdp_route.cuh b/cpp/src/routing/route/pdp_route.cuh index dc9b8ad699..dd20e2fec3 100644 --- a/cpp/src/routing/route/pdp_route.cuh +++ b/cpp/src/routing/route/pdp_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -17,6 +17,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/prize_route.cuh b/cpp/src/routing/route/prize_route.cuh index 0330d14590..80b27061b5 100644 --- a/cpp/src/routing/route/prize_route.cuh +++ b/cpp/src/routing/route/prize_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -17,6 +17,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/route.cuh b/cpp/src/routing/route/route.cuh index e6367a4836..b624acb903 100644 --- a/cpp/src/routing/route/route.cuh +++ b/cpp/src/routing/route/route.cuh @@ -11,6 +11,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/service_time_route.cuh b/cpp/src/routing/route/service_time_route.cuh index b35e53c2d8..03c48b2e42 100644 --- a/cpp/src/routing/route/service_time_route.cuh +++ b/cpp/src/routing/route/service_time_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -15,6 +15,8 @@ #include #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/tasks_route.cuh b/cpp/src/routing/route/tasks_route.cuh index 6da9e4372a..3624d647e7 100644 --- a/cpp/src/routing/route/tasks_route.cuh +++ b/cpp/src/routing/route/tasks_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -15,6 +15,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/time_route.cuh b/cpp/src/routing/route/time_route.cuh index bb5ec653e1..21448c4273 100644 --- a/cpp/src/routing/route/time_route.cuh +++ b/cpp/src/routing/route/time_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2021-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2021-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -17,6 +17,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/tsp_route.cuh b/cpp/src/routing/route/tsp_route.cuh index ee1ba5370c..9b7eeeee56 100644 --- a/cpp/src/routing/route/tsp_route.cuh +++ b/cpp/src/routing/route/tsp_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -16,6 +16,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/route/vehicle_fixed_cost_route.cuh b/cpp/src/routing/route/vehicle_fixed_cost_route.cuh index 83ea5db481..1e246fbb6e 100644 --- a/cpp/src/routing/route/vehicle_fixed_cost_route.cuh +++ b/cpp/src/routing/route/vehicle_fixed_cost_route.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -14,6 +14,8 @@ #include +#include + namespace cuopt { namespace routing { namespace detail { diff --git a/cpp/src/routing/solution/route_node_map.cuh b/cpp/src/routing/solution/route_node_map.cuh index 25a6c4919b..a4a1b171aa 100644 --- a/cpp/src/routing/solution/route_node_map.cuh +++ b/cpp/src/routing/solution/route_node_map.cuh @@ -1,6 +1,6 @@ /* clang-format off */ /* - * SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + * SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ /* clang-format on */ @@ -8,6 +8,7 @@ #pragma once #include +#include #include #include #include diff --git a/cpp/src/routing/utilities/check_input.cu b/cpp/src/routing/utilities/check_input.cu index e902f2d460..eccc3179bb 100644 --- a/cpp/src/routing/utilities/check_input.cu +++ b/cpp/src/routing/utilities/check_input.cu @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include diff --git a/cpp/src/utilities/copy_helpers.hpp b/cpp/src/utilities/copy_helpers.hpp index 36a4659059..6aa9efbab8 100644 --- a/cpp/src/utilities/copy_helpers.hpp +++ b/cpp/src/utilities/copy_helpers.hpp @@ -14,6 +14,7 @@ #include #include +#include #include #include #include From d80c581d7ffb2a7d4ae3768c05fd050c06ea074f Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Mon, 30 Mar 2026 12:21:32 -0500 Subject: [PATCH 2/3] Fix style checks --- docs/cuopt/source/versions1.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/cuopt/source/versions1.json b/docs/cuopt/source/versions1.json index 3e986996a4..507dfe57a4 100644 --- a/docs/cuopt/source/versions1.json +++ b/docs/cuopt/source/versions1.json @@ -1,10 +1,14 @@ [ { - "version": "26.04.00", - "url": "https://docs.nvidia.com/cuopt/user-guide/26.04.00/", + "version": "26.06.00", + "url": "https://docs.nvidia.com/cuopt/user-guide/26.06.00/", "name": "latest", "preferred": true }, + { + "version": "26.04.00", + "url": "https://docs.nvidia.com/cuopt/user-guide/26.04.00/" + }, { "version": "26.02.00", "url": "https://docs.nvidia.com/cuopt/user-guide/26.02.00/" From 56beb5c85ad180a3d5aed687ee1062e0031c4830 Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Mon, 30 Mar 2026 15:48:05 -0500 Subject: [PATCH 3/3] Addd PIC changes for cli --- cpp/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 1946012ca4..5836736433 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -492,11 +492,14 @@ rapids_cpm_find( add_executable(cuopt_cli cuopt_cli.cpp) +# PIE executable: auditwheel/patchelf expands .dynstr/RPATH when repairing wheels; non-PIE +# (ET_EXEC) binaries are prone to corrupt segment layout. PIE (ET_DYN) survives RPATH edits. set_target_properties(cuopt_cli PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED ON CXX_SCAN_FOR_MODULES OFF + POSITION_INDEPENDENT_CODE ON ) target_compile_options(cuopt_cli @@ -504,6 +507,8 @@ target_compile_options(cuopt_cli "$<$:${CUOPT_CUDA_FLAGS}>" ) +target_link_options(cuopt_cli PRIVATE -pie) + target_include_directories(cuopt_cli PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src"