{"slug": "introducing-rocopt-gpu-accelerated-decision-optimization-on-amd-rocm", "title": "Introducing rocOpt: GPU-Accelerated Decision Optimization on AMD ROCm", "summary": "AMD released rocOpt, an open-source, GPU-accelerated decision optimization engine for AMD Instinct GPUs, available for early users on MI300X and MI355X hardware with ROCm 7.2.3. rocOpt solves large-scale linear programming, mixed-integer linear programming, quadratic programming and vehicle routing problems, and ships as source on GitHub, as prebuilt Docker Hub containers (rocopt-1.0.0.amd0_rocm7.2.3.ubuntu24.04_py3.13) and via AMD's installation guide. AMD positions rocOpt for workloads such as logistics, energy dispatch, portfolio optimization and supply-chain design, where models can contain millions of variables and constraints.", "body_md": "# Introducing rocOpt: GPU-Accelerated Decision Optimization on AMD ROCm[#](#introducing-rocopt-gpu-accelerated-decision-optimization-on-amd-rocm)\n\nrocOpt is a new open-source, GPU-accelerated engine for decision optimization on AMD Instinct GPUs. It solves large-scale linear programming (LP), mixed-integer linear programming (MILP), quadratic programming (QP), and vehicle routing problems on the ROCm software stack, and is ready for early users today on MI300X and MI355X with ROCm 7.2.3.\n\nDecision optimization has outgrown what CPU-only solvers can deliver inside a production time budget. rocOpt lets you run those workloads on the same AMD Instinct GPUs and ROCm software stack you already use for AI and analytics — open source, no proprietary license, no platform switch.\n\nIn this blog you will learn why decision optimization is moving to the GPU, how AMD built rocOpt on the AMD Data Science stack to bring GPU-accelerated optimization natively to ROCm, and what each of its four solver families is good for. You will also see where rocOpt fits in real workloads — logistics, energy dispatch, portfolio optimization, supply-chain design — and how to get started on your own problem today.\n\n## Why GPU-Accelerated Decision Optimization?[#](#why-gpu-accelerated-decision-optimization)\n\nDecision optimization is the hidden engine behind complex operational\ndecisions, from routing delivery fleets and dispatching power generation to\nbalancing portfolios and scheduling semiconductor production. The common\nfoundation is **mathematical programming**: expressing a problem as\nobjectives and constraints, then leveraging powerful solvers to find the\noptimal feasible outcome.\n\nModern optimization problems are massive in scale. A nationwide logistics\nmodel may contain **millions of variables and constraints**, energy dispatch\nsystems often require a new solution every few minutes, and portfolio\nrebalancing must be completed within tight market windows. As these problems\ngrow, even the best CPU-based solvers encounter runtime limitations: their\ncore computations — sparse matrix operations, matrix factorizations, and\nlarge-scale reductions — don’t parallelize well across a handful of CPU cores\nat this scale. These are precisely the types of workloads that GPUs, with\nthousands of concurrent threads, excel at accelerating.\n\nrocOpt brings GPU acceleration for this class of work to AMD Instinct GPUs. It is open source, ships solvers for LP, MILP, QP, and vehicle-routing problems, and slots into existing ROCm AI/ML pipelines without leaving the platform.\n\n## Get Started: Running rocOpt on ROCm[#](#get-started-running-rocopt-on-rocm)\n\nThe [rocOpt GitHub repository](https://github.com/AMD-Ecosystem/rocOpt/tree/amd-integration) is the starting\npoint for new users. It contains the source code, examples, and instructions\nfor getting started and building rocOpt from source on AMD Instinct GPUs.\n\nIf you prefer not to compile locally, use the prebuilt containers on [Docker\nHub](https://hub.docker.com/r/rocm/rocopt/tags?name=rocopt-1.0.0.amd0_rocm7.2.3.ubuntu24.04_py3.13) to run rocOpt in a container instead of\nbuilding from source.\n\nYou can also install rocOpt by following the official [installation guide](https://rocm.docs.amd.com/projects/rocopt/en/latest/install/install_rocopt.html). Before you begin, check\nthe rocOpt [compatibility guide](https://rocm.docs.amd.com/projects/rocopt/en/latest/install/install_rocopt.html#compatibility-matrix) for supported\nplatforms, ROCm versions, and hardware.\n\n## Built on the AMD Data Science Stack[#](#built-on-the-amd-data-science-stack)\n\nrocOpt extends the AMD ROCm platform with GPU-accelerated decision\noptimization, built on the [**AMD Data Science**](https://rocm.docs.amd.com/projects/rocm-ds/en/latest/index.html)\necosystem. That foundation is what makes rocOpt feel native on ROCm — the\nsame dispatch model, the same memory pool, the same build conventions you\nalready use for RAPIDS-style workloads.\n\n| Capability | rocOpt uses | \n|---|---|\n| Device runtime | HIP | \n| Compiler | `amdclang++` | \n| Templates / iterators | rocThrust, hipCUB | \n| Primitive ops | rocPRIM | \n| ML primitives | hipRAFT | \n| Memory management | hipMM | \n| Sparse / dense BLAS | hipSPARSE, hipBLAS | \n| Direct linear solvers | hipSOLVER | \n\n## Solvers Under the Hood[#](#solvers-under-the-hood)\n\nrocOpt ships four solver families, each tuned for a different problem class:\n\n- **PDLP (Primal-Dual Hybrid Gradient for LP)** — A first-order method designed for very large, sparse LPs that runs on the GPU. This is the workhorse for\nmillion-variable LPs and the recommended solver for most large-scale\nproblems on rocOpt.\n- **Dual Simplex** — CPU-based, suited to small-to-medium LPs and used as the\nLP relaxation engine inside the MILP branch-and-bound loop.\n- **MILP (mixed integer linear programming)** — hybrid GPU/CPU solver. Primal\nheuristics (local search, feasibility pump, feasibility jump) run on the GPU\nto drive the primal bound; branch-and-bound runs on the CPU to drive the\ndual bound. Integer-feasible solutions are shared between both halves.\n- **Vehicle Routing (TSP / VRP / PDP)** — metaheuristic solver that generates\nan initial population of routes and iteratively improves them within a\nuser-specified time budget, returning the best route found.\n\n**Current solver coverage:** rocOpt currently supports **PDLP** and **dual\nsimplex** for LP workloads. The barrier (interior-point) solver is not yet\navailable because its upstream implementation depends on cuDSS; expanding\nsparse direct-solver support represents an opportunity for future ROCm\ndevelopment. For now, use **PDLP** for large LPs and **dual simplex** for\nsmaller ones.\n\n## Where rocOpt Fits — Concrete Use Cases[#](#where-rocopt-fits-concrete-use-cases)\n\nA few classes of problems where GPU acceleration changes what is tractable:\n\n**Last-mile logistics (VRP).** Plan deliveries for thousands of stops across\nhundreds of vehicles, with time windows, vehicle capacities, and driver\nconstraints. rocOpt’s routing engine produces near-optimal routes within the\ndispatch window so you can replan when reality diverges from the morning’s\nplan.\n\n**Energy dispatch and unit commitment (MILP).** Decide which generators run,\nat what output, and when, while respecting ramp limits, reserve requirements,\nand transmission constraints. Faster solves enable shorter market intervals\nand tighter integration of variable renewables.\n\n**Portfolio optimization (QP).** Choose asset weights to maximize expected\nreturn subject to risk and exposure constraints — a quadratic objective over\nthousands of instruments. GPU acceleration shortens the rebalance loop from\nminutes to seconds.\n\n**Supply chain network design (MILP).** Decide which facilities to open, which\nproducts to make where, and how to route demand across a multi-echelon\nnetwork. Larger instance sizes mean fewer modeling abstractions and better\nanswers.\n\n## Summary[#](#summary)\n\nIn this blog you learned how rocOpt opens up GPU-accelerated decision optimization to the AMD ecosystem. We covered why mathematical programming is moving to the GPU, introduced rocOpt as a new GPU-accelerated optimization library in the AMD Data Science stack, and explained what each of its four solver families — PDLP, dual simplex, MILP branch-and-bound, and the vehicle-routing metaheuristic — is good for. You also saw where rocOpt fits in real workloads such as last-mile logistics, energy dispatch, portfolio optimization, and supply-chain network design, and where to find the source, docs, and containerized builds to start running it today on AMD Instinct MI300X and MI355X with ROCm 7.2.3.\n\nVisit the [rocOpt\nrepository](https://github.com/AMD-Ecosystem/rocOpt/tree/amd-integration) and try it on your next large-scale\noptimization problem.\n\n## Acknowledgements[#](#acknowledgements)\n\nThe authors thank the following AMD contributors for their instrumental support in enabling rocOpt: Diptorup Deb, Lalith Narasimhan, Pankaj Gupta, David Oladepo, Randy Hartgrove, Amit Kumar, Ehud Sharlin, Saad Rahim and Bhavesh Lad.\n\n## Additional resources[#](#additional-resources)\n\nrocOpt’s own [examples](https://github.com/AMD-Ecosystem/rocOpt/tree/amd-integration/examples_notebook)\nin the GitHub repository cover LP, MILP, and vehicle routing through the\nPython, CLI, and Server APIs, and are the best starting point for new users.\nrocOpt also preserves API compatibility with the upstream cuOpt project, so\nexisting cuOpt workloads can transition to rocOpt with minimal code changes.\nFor full API reference material — C/C++, Python, MPS parser, and Server APIs\n— see the [rocOpt documentation](https://rocm.docs.amd.com/projects/rocopt/en/latest/index.html).\nThe main caveat when porting existing cuOpt code is that the Barrier\n(interior-point) LP solver is unavailable on AMD today, so use PDLP or dual\nsimplex instead.\n\n## Disclaimers[#](#disclaimers)\n\nThe information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions, and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. Any computer system has risks of security vulnerabilities that cannot be completely prevented or mitigated. AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes. THIS INFORMATION IS PROVIDED ‘AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. AMD, the AMD Arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies. © 2026 Advanced Micro Devices, Inc. All rights reserved", "url": "https://wpnews.pro/news/introducing-rocopt-gpu-accelerated-decision-optimization-on-amd-rocm", "canonical_source": "https://rocm.blogs.amd.com/artificial-intelligence/rocopt/README.html", "published_at": "2026-10-20 00:00:00+00:00", "updated_at": "2026-10-20 16:21:01.870565+00:00", "lang": "en", "topics": ["ai-infrastructure", "developer-tools", "ai-tools"], "entities": ["AMD", "rocOpt", "ROCm", "AMD Instinct", "MI300X", "MI355X", "AMD Data Science", "Docker Hub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/introducing-rocopt-gpu-accelerated-decision-optimization-on-amd-rocm", "markdown": "https://wpnews.pro/news/introducing-rocopt-gpu-accelerated-decision-optimization-on-amd-rocm.md", "text": "https://wpnews.pro/news/introducing-rocopt-gpu-accelerated-decision-optimization-on-amd-rocm.txt", "jsonld": "https://wpnews.pro/news/introducing-rocopt-gpu-accelerated-decision-optimization-on-amd-rocm.jsonld"}}