NVIDIA / NVIDIA/cuopt

VRP: transparent remote execution via CUOPT_REMOTE_HOST/PORT (solve parity with LP/MIP)

Open
#1,633 2 comments 0 reactions 1 assignee View on GitHub

@akifcorduk is already working on this.

Since Jul 28, 2026.

awaiting response
Dominant language
Cuda
Stars
1k
Forks
233
Avg merge
4d 4h
Merged PRs (30d)
95

Description

Follow-up to #1597. LP/MIP support transparent remote execution: is_remote_execution_enabled() (checks CUOPT_REMOTE_HOST/CUOPT_REMOTE_PORT, see pdlp/backend_selection.cpp) makes the normal solve_lp()/solve_mip() route to solve_lp_remote()/solve_mip_remote() — non-invasive, works from any interface (C/Python/CLI) without code changes.

VRP has no equivalent: routing's Solve() never checks the env or calls a remote backend. #1597 adds only the explicit cuopt.grpc.routing.RoutingClient (you call it directly). Note CUOPT_GRPC_SERVER (used by the RoutingClient tests) is a different knob from the transparent CUOPT_REMOTE_HOST/CUOPT_REMOTE_PORT path.

Scope
  • Add solve_vrp_remote() (host cpu_routing_problem_t → gRPC submit → RoutingSolution), mirroring solve_lp_remote/solve_mip_remote.
  • Hook is_remote_execution_enabled() into routing's Solve() entry point so a GPU-less routing.Solve(...) transparently runs on a remote server when CUOPT_REMOTE_HOST/CUOPT_REMOTE_PORT are set.

🤖 Generated with Claude Code

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.