Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 3 additions & 32 deletions docs_amd/examples/rocopt-example.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
rocOpt examples
********************************************************************

The rocOpt examples can be found in GitHub under the https://github.com/AMD-Ecosystem/rocopt/tree/amd-integration/examples_notebook folder.
The rocOpt examples can be found in GitHub under the https://github.com/AMD-Ecosystem/rocOpt/tree/release/rocopt-26.07 folder.
The examples include the following three notebooks to demonstrate vehicle routing problems, large-scale linear programming, and mixed-integer
linear programming.

Expand Down Expand Up @@ -47,7 +47,7 @@ Vehicle routing problem notebook (``cvrptw_benchmark_rocopt.ipynb``)

A 1000-customer Gehring & Homberger CVRPTW instance (``C1_10_1``, best known
cost 42 478.95 with 100 vehicles). Restart the kernel and run all cells.
The single solve is capped at 60 s for demo runtime; the upstream NVIDIA
The single solve is capped at 60 s for demo runtime; the upstream
notebook chains a 10 s + 120 s pair.

Run-to-run variance of a few percent is expected. cuOpt's routing solver is
Expand All @@ -62,7 +62,7 @@ through the algebraic-modeling Python API.

The solver method is pinned to **PDLP only** (``method=1``) on rocopt. The
default ``method=0`` (Concurrent) launches a Barrier solver thread alongside
PDLP, but Barrier requires cuDSS, which is NVIDIA-only. On rocopt the missing
PDLP, but Barrier requires cuDSS, which is not currently supported on ROCm. On rocopt the missing
dispatcher path can deadlock a re-solve of the same ``Problem`` object — most
visibly in the MILP notebook, which solves the LP relaxation twice.

Expand Down Expand Up @@ -288,32 +288,3 @@ directory:
rocopt:amd-integration

Then launch Jupyter with ``--notebook-dir /workspace/examples_notebook``.

Per-notebook details
---------------------

The following provide specific details for two of the notebooks.

Routing benchmark (``cvrptw_benchmark_rocopt.ipynb``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A 1000-customer Gehring & Homberger CVRPTW instance (``C1_10_1``, best known
cost 42 478.95 with 100 vehicles). Restart the kernel and run all cells.
The single solve is capped at 60 s for demo runtime; the upstream NVIDIA
notebook chains a 10 s + 120 s pair.

Run-to-run variance of a few percent is expected. cuOpt's routing solver is
a randomized parallel local-search metaheuristic; identical inputs do not
produce bit-identical outputs across GPU runs.

Diet optimization (``diet_optimization_lp.ipynb`` and ``..._milp.ipynb``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Solve the classic USDA diet LP (and an MILP variant with integer servings)
through the algebraic-modeling Python API.

The solver method is pinned to **PDLP only** (``method=1``) on rocopt. The
default ``method=0`` (Concurrent) launches a Barrier solver thread alongside
PDLP, but Barrier requires cuDSS, which is NVIDIA-only. On rocopt the missing
dispatcher path can deadlock a re-solve of the same ``Problem`` object — most
visibly in the MILP notebook, which solves the LP relaxation twice.
2 changes: 1 addition & 1 deletion docs_amd/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ The rocOpt code is open and hosted at
* :doc:`rocOpt Examples <examples/rocopt-example>`

To contribute to the documentation refer to
`Contributing to ROCm-DS <https://rocm.docs.amd.com/projects/rocm-ds/en/latest/contribute/contributing.html>`_.
`Contributing to AMD Data Science <https://rocm.docs.amd.com/projects/rocm-ds/en/latest/contribute/contributing.html>`_.

You can find licensing information on the
`Licensing <https://rocm.docs.amd.com/projects/rocm-ds/en/latest/about/license.html>`_ page.
6 changes: 3 additions & 3 deletions docs_amd/what_is_rocopt.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ rocOpt is an open-source, GPU-accelerated engine for decision optimization on AM
GPUs through the ROCm software stack. It solves large-scale linear programming (LP),
mixed-integer linear programming (MILP), quadratic programming (QP), and vehicle routing
problems containing millions of variables and constraints, returning near real-time results on
AMD Instinct MI300X and MI355X GPUs through the ROCm software stack.
AMD Instinct MI300X and MI355X GPUs.

rocOpt is aligned with and API-compatible with cuOpt 25.10, so you can run
existing cuOpt workloads and optimization pipelines on AMD Instinct GPUs without
Expand Down Expand Up @@ -48,10 +48,10 @@ the ROCm 7.2.3 runtime. This includes the following features:
- Server API — serve optimization requests over HTTP with a cuOpt-compatible
interface.

- rocOpt is built on the ROCm Data Science (ROCm-DS) stack — a HIP port
- rocOpt is built on the AMD Data Science stack — a HIP port
cuOpt that maps RAPIDS-style dependencies to their ROCm equivalents (hipRAFT, hipMM,
rocThrust, hipCUB, rocPRIM, hipSPARSE, hipBLAS, hipSOLVER) so workloads run on
AMD Instinct hardware alongside other ROCm-DS libraries such as hipDF.
AMD Instinct hardware alongside other AMD Data Science libraries such as hipDF.

- rocOpt supports concrete decision-optimization use cases where GPU acceleration
changes what is tractable in production, including:
Expand Down