Description
The cpp-build CI job fails with CUDA 13.1.1 due to missing thrust header includes.
CI log: https://github.com/NVIDIA/cuopt/actions/runs/23632772472/job/68835651782#step:11:2154
Error:
$SRC_DIR/cpp/src/pdlp/termination_strategy/infeasibility_information.cu(344): error: namespace "thrust" has no member "make_transform_output_iterator"
Root Cause
infeasibility_information.cu uses thrust::make_transform_output_iterator but does not directly include thrust/iterator/transform_output_iterator.h. The symbol was previously resolved through transitive includes. An audit of the codebase shows ~45 files relying on transitive includes for various thrust symbols (make_transform_iterator, make_zip_iterator, thrust::tuple, thrust::maximum, thrust::device_ptr, thrust::transform_reduce, etc.).
Description
The cpp-build CI job fails with CUDA 13.1.1 due to missing thrust header includes.
CI log: https://github.com/NVIDIA/cuopt/actions/runs/23632772472/job/68835651782#step:11:2154
Error:
Root Cause
infeasibility_information.cuusesthrust::make_transform_output_iteratorbut does not directly includethrust/iterator/transform_output_iterator.h. The symbol was previously resolved through transitive includes. An audit of the codebase shows ~45 files relying on transitive includes for various thrust symbols (make_transform_iterator,make_zip_iterator,thrust::tuple,thrust::maximum,thrust::device_ptr,thrust::transform_reduce, etc.).