|
| 1 | +<!DOCTYPE html> |
| 2 | +<html lang="en"> |
| 3 | +<head> |
| 4 | + <meta charset="UTF-8"> |
| 5 | + <meta name="viewport" content="width=device-width, initial-scale=1"> |
| 6 | + <title>MadSuite</title> |
| 7 | + <!-- Bootstrap CSS --> |
| 8 | + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> |
| 9 | +</head> |
| 10 | +<body> |
| 11 | + |
| 12 | + <!-- Navbar --> |
| 13 | + <nav class="navbar navbar-expand-lg border-bottom fixed-top bg-white"> |
| 14 | + <div class="container"> |
| 15 | + <a class="navbar-brand" href="#"><strong>MadSuite</strong></a> |
| 16 | + </div> |
| 17 | + </nav> |
| 18 | + |
| 19 | + <!-- Main Content --> |
| 20 | + <div style="margin-top: 70px; margin-bottom: 70px;"> |
| 21 | + <div class="container my-5"> |
| 22 | + |
| 23 | + <h1 class="mb-4">MadSuite: An Optimization Software Suite for GPUs</h1> |
| 24 | + <p> |
| 25 | + Welcome to |
| 26 | + <a href="https://github.com/MadNLP">MadSuite</a> |
| 27 | + website! Our mission is to deliver optimization software with state-of-the-art GPU acceleration. The performance of GPU-accelerated optimization solvers is <a href="https://arxiv.org/abs/2405.14236">successfully demonstrated</a> on the AC optimal power flow problems, optimal control problems, and other large-scale nonlinear optimization problems. For large-scale problems, using GPU acceleration often enables more than an order of magnitude speed-up, as demonstrated with the performance of ExaModels.jl and MadNLP.jl running on GPUs along with CUDSS compared to the state-of-the-art tools on CPUs for solving large AC optimal power flow problems. <div style="max-width: 800px"> <figure> <img src="assets/time-to-solution-opf.png" style="width: 100%"> <figcaption>Figure 1: Solution time for AC optimal power flow for the 70k bus system running on different hardware</figcaption> </figure> </div> |
| 28 | + |
| 29 | + </p> |
| 30 | + <h2 class="mt-5">What's MadSuite?</h2> |
| 31 | + <p> |
| 32 | + MadSuite is a suite of open-source optimization software encompassing algebraic modeling systems, optimization solvers, linear solvers, and domain-specific modeling libraries. Our software tools are embedded in the |
| 33 | + <a href="https://julialang.org/">Julia Language</a> |
| 34 | + , which is host a variety of excellent libraries for optimization, such as |
| 35 | + <a href="https://jump.dev/">JuMP.jl</a> |
| 36 | + and |
| 37 | + <a href="https://jso.dev/">JuliaSmoothOptimizers</a> |
| 38 | + , as well as extensive support for GPU programming, such as |
| 39 | + <a href="https://github.com/JuliaGPU/CUDA.jl">CUDA.jl</a> |
| 40 | + and |
| 41 | + <a href="https://github.com/JuliaGPU/KernelAbstractions.jl">KernelAbstractions.jl</a> |
| 42 | + . We employ the latest advancements in GPU computing, such as NVIDIA's |
| 43 | + <a href="https://developer.nvidia.com/cudss">CUDSS</a> |
| 44 | + library, to provide high-performance solutions for large-scale nonlinear optimization problems. |
| 45 | + |
| 46 | + </p> |
| 47 | + <h2 class="mt-5">News</h2> |
| 48 | + <ul> |
| 49 | + |
| 50 | + <li> |
| 51 | + MadSuite will be presented at IEEE PowerTech 2025 in the tutorial session on GPU-Accelerated Optimization for Power Systems with MadNLP and ExaModels. (<a href="https://2025.ieee-powertech.org/tutorials/#1744358367373-8b3025fb-3285">June 2025</a>) |
| 52 | + </li> |
| 53 | + |
| 54 | + </ul> |
| 55 | + <h2 class="mt-5">Useful Resources</h2> |
| 56 | + <ul> |
| 57 | + |
| 58 | + <li> |
| 59 | + NVIDIA Technology Blog: NVIDIA cuDSS Library Removes Barriers to Optimizing the U.S. Power Grid [ <a href="https://developer.nvidia.com/blog/nvidia-cudss-library-removes-barriers-to-optimizing-the-us-power-grid/">Link</a> ] |
| 60 | + </li> |
| 61 | + |
| 62 | + |
| 63 | + <li> |
| 64 | + Julia Discourse: ExaModels.jl and MadNLP.jl on GPUs [ <a href="https://discourse.julialang.org/t/examodels-jl-and-madnlp-jl-on-gpus/111377">Link</a> ] |
| 65 | + </li> |
| 66 | + |
| 67 | + |
| 68 | + <li> |
| 69 | + Julia Discourse: AC Optimal Power Flow in various nonlinear optimization frameworks [ <a href="https://discourse.julialang.org/t/ac-optimal-power-flow-in-various-nonlinear-optimization-frameworks/78486/81">Link</a> ] |
| 70 | + </li> |
| 71 | + |
| 72 | + |
| 73 | + <li> |
| 74 | + PowerTech 2025: Tutorial on GPU-Accelerated Optimization for Power Systems with MadNLP and ExaModels [ <a href="https://madsuite.org/powertech2025">Link</a> ] |
| 75 | + </li> |
| 76 | + |
| 77 | + </ul> |
| 78 | + <h2 class="mt-5">Members</h2> |
| 79 | + <ul> |
| 80 | + |
| 81 | + <li> |
| 82 | + <a href="https://shin.mit.edu"><strong>Sungho Shin</strong></a> (<a href="https://github.com/sshin23">@sshin23</a>): Sungho Shin is an assistant professor at the Chemial Engineering Department of Massachusetts Institute of Technology. |
| 83 | + </li> |
| 84 | + |
| 85 | + |
| 86 | + <li> |
| 87 | + <a href="https://frapac.github.io/"><strong>François Pacaud</strong></a> (<a href="https://github.com/frapac">@frapac</a>): François Pacaud is an assistant professor at the Centre Automatique et Systèmes within Mines Paris-PSL. |
| 88 | + </li> |
| 89 | + |
| 90 | + |
| 91 | + <li> |
| 92 | + <a href="https://www.linkedin.com/in/alexis-montoison/"><strong>Alexis Montoison</strong></a> (<a href="https://github.com/amontoison">@amontoison</a>): Alexis Montoison is a postdoctoral researcher at the Argonne National Laboratory. |
| 93 | + </li> |
| 94 | + |
| 95 | + </ul> |
| 96 | + <h2 class="mt-5">Packages</h2> |
| 97 | + <ul> |
| 98 | + |
| 99 | + <li> |
| 100 | + <strong><a href="https://github.com/MadNLP/MadNLP.jl">MadNLP.jl</a></strong>: A nonlinear programming solver based on the filter line-search interior point method (as in Ipopt) that can handle/exploit diverse classes of data structures, either on host or device memories. |
| 101 | + </li> |
| 102 | + |
| 103 | + |
| 104 | + <li> |
| 105 | + <strong><a href="https://github.com/MadNLP/MadIPM.jl">MadIPM.jl</a></strong>: MadIPM.jl is an extension of MadNLP.jl for linear and quadratic programming. It implements the Mehrotra predictor-corrector method, leading to faster convergence than the default filter line-search algorithm used in MadNLP. |
| 106 | + </li> |
| 107 | + |
| 108 | + |
| 109 | + <li> |
| 110 | + <strong><a href="https://github.com/exanauts/ExaModels.jl">ExaModels.jl</a></strong>: An algebraic modeling and automatic differentiation tool in Julia Language, specialized for SIMD abstraction of nonlinear programs. |
| 111 | + </li> |
| 112 | + |
| 113 | + |
| 114 | + <li> |
| 115 | + <strong><a href="https://github.com/exanauts/ExaModelsPower.jl">ExaModelsPower.jl</a></strong>: ExaModelsPower.jl is a Julia package for modeling and solving power systems optimization problems, built on top of ExaModels.jl. |
| 116 | + </li> |
| 117 | + |
| 118 | + |
| 119 | + <li> |
| 120 | + <strong><a href="https://github.com/exanauts/ExaModelsExamles.jl">ExaModelsExamples.jl</a></strong>: A collection of examples demonstrating the use of ExaModels.jl for various optimization problems, including power systems, optimal control problems, and COPS benchmark problems. |
| 121 | + </li> |
| 122 | + |
| 123 | + |
| 124 | + <li> |
| 125 | + <strong><a href="https://github.com/exanauts/CUDSS.jl">CUDSS.jl</a></strong>: CUDSS.jl is a Julia interface to the NVIDIA cuDSS library. NVIDIA cuDSS provides three factorizations (LDU, LDLᵀ, LLᵀ) for solving sparse linear systems on GPUs. |
| 126 | + </li> |
| 127 | + |
| 128 | + </ul> |
| 129 | + <h2 class="mt-5">Publications</h2> |
| 130 | + <ul> |
| 131 | + <li>David Cole, Sungho Shin, Fran<span class="bibtex-protected">ç</span>ois Pacaud, Victor M. Zavala, and Mihai Anitescu. |
| 132 | +Exploiting <span class="bibtex-protected"><span class="bibtex-protected">GPU</span></span>/<span class="bibtex-protected"><span class="bibtex-protected">SIMD Architectures</span></span> for <span class="bibtex-protected"><span class="bibtex-protected">Solving Linear-Quadratic MPC Problems</span></span>*. |
| 133 | +In <em>2023 <span class="bibtex-protected"><span class="bibtex-protected">American Control Conference</span></span> (<span class="bibtex-protected"><span class="bibtex-protected">ACC</span></span>)</em>, 3995–4000. May 2023. |
| 134 | +<a href="https://doi.org/10.23919/ACC55779.2023.10155791">doi:10.23919/ACC55779.2023.10155791</a>.</li> |
| 135 | +<li>Fran<span class="bibtex-protected">ç</span>ois Pacaud, Michel Schanen, Sungho Shin, Daniel Adrian Maldonado, and Mihai Anitescu. |
| 136 | +Parallel interior-point solver for block-structured nonlinear programs on <span class="bibtex-protected"><span class="bibtex-protected">SIMD</span></span>/<span class="bibtex-protected"><span class="bibtex-protected">GPU</span></span> architectures. |
| 137 | +<em>Optimization Methods and Software</em>, 39(4):874–897, July 2024. |
| 138 | +<a href="https://doi.org/10.1080/10556788.2024.2329646">doi:10.1080/10556788.2024.2329646</a>.</li> |
| 139 | +<li>Fran<span class="bibtex-protected">ç</span>ois Pacaud and Sungho Shin. |
| 140 | +<span class="bibtex-protected"><span class="bibtex-protected">GPU-accelerated</span></span> nonlinear model predictive control with <span class="bibtex-protected"><span class="bibtex-protected">ExaModels</span></span> and <span class="bibtex-protected"><span class="bibtex-protected">MadNLP</span></span>. |
| 141 | +March 2024. |
| 142 | +<a href="https://arxiv.org/abs/2403.15913">arXiv:2403.15913</a>, <a href="https://doi.org/10.48550/arXiv.2403.15913">doi:10.48550/arXiv.2403.15913</a>.</li> |
| 143 | +<li>Fran<span class="bibtex-protected">ç</span>ois Pacaud, Sungho Shin, Alexis Montoison, Michel Schanen, and Mihai Anitescu. |
| 144 | +Condensed-space methods for nonlinear programming on <span class="bibtex-protected"><span class="bibtex-protected">GPUs</span></span>. |
| 145 | +May 2024. |
| 146 | +<a href="https://arxiv.org/abs/2405.14236">arXiv:2405.14236</a>, <a href="https://doi.org/10.48550/arXiv.2405.14236">doi:10.48550/arXiv.2405.14236</a>.</li> |
| 147 | +<li>Fran<span class="bibtex-protected">ç</span>ois Pacaud, Sungho Shin, Michel Schanen, Daniel Adrian Maldonado, and Mihai Anitescu. |
| 148 | +Accelerating <span class="bibtex-protected"><span class="bibtex-protected">Condensed Interior-Point Methods</span></span> on <span class="bibtex-protected"><span class="bibtex-protected">SIMD</span></span>/<span class="bibtex-protected"><span class="bibtex-protected">GPU Architectures</span></span>. |
| 149 | +<em>Journal of Optimization Theory and Applications</em>, February 2023. |
| 150 | +<a href="https://doi.org/10.1007/s10957-022-02129-5">doi:10.1007/s10957-022-02129-5</a>.</li> |
| 151 | +<li>Sungho Shin, Mihai Anitescu, and Fran<span class="bibtex-protected">ç</span>ois Pacaud. |
| 152 | +Accelerating optimal power flow with <span class="bibtex-protected"><span class="bibtex-protected">GPUs</span></span>: <span class="bibtex-protected"><span class="bibtex-protected">SIMD</span></span> abstraction of nonlinear programs and condensed-space interior-point methods. |
| 153 | +<em>Electric Power Systems Research</em>, 236:110651, November 2024. |
| 154 | +<a href="https://doi.org/10.1016/j.epsr.2024.110651">doi:10.1016/j.epsr.2024.110651</a>.</li> |
| 155 | +<li>Sungho Shin, Vishwas Rao, Michel Schanen, D. Adrian Maldonado, and Mihai Anitescu. |
| 156 | +Scalable <span class="bibtex-protected"><span class="bibtex-protected">Multi-Period AC Optimal Power Flow Utilizing GPUs</span></span> with <span class="bibtex-protected"><span class="bibtex-protected">High Memory Capacities</span></span>. |
| 157 | +May 2024. |
| 158 | +<a href="https://arxiv.org/abs/2405.14032">arXiv:2405.14032</a>, <a href="https://doi.org/10.48550/arXiv.2405.14032">doi:10.48550/arXiv.2405.14032</a>.</li> |
| 159 | + </ul> |
| 160 | + <h2 class="mt-5">Videos</h2> |
| 161 | + <ul> |
| 162 | + |
| 163 | + <li> |
| 164 | + Sungho Shin, Large-Scale Nonlinear Programming on GPUs: State-of-the-Art and Future Prospects, April 2024<br> |
| 165 | + <div style="max-width: 800px"> |
| 166 | + <div style="aspect-ratio: 16 / 9; width: 100%;"> |
| 167 | + <iframe |
| 168 | + src="https://www.youtube.com/embed/MzV9Crph4BA?si=1u50D-4JuFTisjN9" |
| 169 | + frameborder="0" |
| 170 | + allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" |
| 171 | + allowfullscreen |
| 172 | + style="width: 100%; height: 100%;" |
| 173 | + ></iframe> |
| 174 | + </div> |
| 175 | + </div> |
| 176 | + </li> |
| 177 | + |
| 178 | + </ul> |
| 179 | + |
| 180 | + </div> |
| 181 | + </div> |
| 182 | + |
| 183 | + <!-- Footer --> |
| 184 | + <footer class="border-top py-3 bg-white"> |
| 185 | + <div class="container text-center text-muted small"> |
| 186 | + © 2026 MadSuite. All rights reserved. |
| 187 | + </div> |
| 188 | + </footer> |
| 189 | + |
| 190 | + <!-- Bootstrap JS --> |
| 191 | + <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> |
| 192 | +</body> |
| 193 | +</html> |
0 commit comments